下面以 Ubuntu + Apache + PHP 最常见场景为例,说明如何配置 PHP(以 PHP 8.1 为例,可根据需要替换版本)。
sudo apt update
sudo apt upgrade -y
sudo apt install apache2 -y
启动并设置开机自启:
sudo systemctl enable apache2
sudo systemctl start apache2
浏览器访问:
http://服务器IP
看到 Apache 默认页即成功。
sudo apt install php libapache2-mod-php -y
如需常用扩展:
sudo apt install php-cli php-mysql php-curl php-gd php-mbstring php-xml php-zip -y
sudo nano /var/www/html/info.php
内容:
<?php
phpinfo();
http://服务器IP/info.php
看到 PHP 信息页即配置成功。
查看:
apache2ctl -M | grep php
应看到:
php_module (shared)
/var/www/html
如需新建站点:
sudo mkdir -p /var/www/example.com/public_html
sudo nano /etc/apache2/mods-enabled/dir.conf
确保:
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
重启 Apache:
sudo systemctl restart apache2
PHP 配置文件位置:
/etc/php/8.1/apache2/php.ini
常用修改:
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
display_errors = Off
修改后重启:
sudo systemctl restart apache2
sudo nano /etc/apache2/sites-available/example.com.conf
内容:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/example.com/public_html
<Directory /var/www/example.com/public_html>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
启用:
sudo a2ensite example.com.conf
sudo systemctl reload apache2
说明 PHP 模块未加载,执行:
sudo apt install libapache2-mod-php
sudo systemctl restart apache2
apache2/php.ini如果你用的是 Ubuntu 22.04 / 24.04、PHP 8.2/8.3 或 Nginx + PHP-FPM,可以告诉我,我可以给你对应版本配置。