Ubuntu PHP环境配置指南
在安装任何软件前,需确保系统包列表是最新的,以避免依赖冲突:
sudo apt update
通过APT包管理器安装PHP核心、命令行工具(CLI)、PHP-FPM(可选,用于进程管理)及常用扩展(如MySQL数据库支持、GD图像处理、MB字符串处理等):
sudo apt install php php-cli php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip
安装完成后,可通过php -v命令验证PHP是否安装成功,输出结果会显示PHP版本信息。
若使用PHP-FPM提升PHP处理效率,需完成以下配置:
sudo systemctl start php-fpm # 根据PHP版本调整,如php7.4-fpm、php8.3-fpm
sudo systemctl enable php-fpm
/etc/php/8.3/fpm/pool.d/www.conf),找到listen行并修改为:listen = /run/php/php8.3-fpm.sock
保存后重启PHP-FPM:sudo systemctl restart php-fpm
Nginx需通过FastCGI协议与PHP-FPM通信,修改站点配置文件(如/etc/nginx/sites-available/default):
server {
listen 80;
server_name your_domain_or_ip;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock; # 与PHP-FPM的listen路径一致
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
修改完成后重启Nginx:
sudo systemctl restart nginx
Apache需启用PHP模块并配置PHP处理:
sudo apt install libapache2-mod-php # 自动安装对应PHP版本的模块
sudo a2enmod php8.3 # 根据PHP版本调整,如php7.4
/etc/apache2/sites-available/000-default.conf),添加以下内容:<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
重启Apache:sudo systemctl restart apache2
在Web服务器根目录(如/var/www/html)创建info.php文件,内容如下:
<?php phpinfo(); ?>
通过浏览器访问http://your_domain_or_ip/info.php,若看到PHP详细信息页面,则说明配置成功。注意:生产环境中需删除此文件,避免泄露敏感信息。
PHP主配置文件位于/etc/php/{version}/cli/php.ini(命令行模式)和/etc/php/{version}/fpm/php.ini(PHP-FPM模式)。常见优化参数:
memory_limit = 256M # 脚本最大内存使用量
upload_max_filesize = 64M # 上传文件最大大小
post_max_size = 70M # POST请求最大数据量
max_execution_time = 30 # 脚本最大执行时间(秒)
error_reporting = E_ALL & ~E_NOTICE # 错误报告级别
display_errors = Off # 生产环境关闭错误显示
log_errors = On # 开启错误日志记录
编辑/etc/php/{version}/fpm/pool.d/www.conf,调整进程管理参数:
pm = dynamic # 动态进程管理模式
pm.max_children = 50 # 最大子进程数(根据服务器内存调整)
pm.start_servers = 10 # 启动时的子进程数
pm.min_spare_servers = 5 # 最小空闲子进程数
pm.max_spare_servers = 20 # 最大空闲子进程数
pm.max_requests = 500 # 每个子进程处理的最大请求数(避免内存泄漏)
修改后重启PHP-FPM:
sudo systemctl restart php-fpm
OPcache可缓存编译后的PHP脚本,显著提升性能。安装并启用:
sudo apt install php-opcache # 安装OPcache扩展
编辑php.ini,添加以下配置:
[opcache]
zend_extension=opcache.so # 启用OPcache扩展
opcache.enable=1 # 开启OPcache
opcache.memory_consumption=128 # 缓存内存大小(MB)
opcache.interned_strings_buffer=8 # 内部字符串缓冲区大小
opcache.max_accelerated_files=4000 # 最大加速文件数
opcache.revalidate_freq=60 # 文件检查频率(秒)
重启PHP-FPM或Web服务器使配置生效。