CentOS 中 PHP 配置步骤
一 准备与安装
sudo yum update -ysudo yum install -y epel-releasesudo yum install -y httpd php php-mysqlndsudo systemctl start httpd && sudo systemctl enable httpdsudo yum install -y nginx php-fpm php-mysqlndsudo systemctl start nginx php-fpm && sudo systemctl enable nginx php-fpmsudo yum install -y php-gd php-mbstring php-xml php-bcmath php-zip php-curl二 核心配置
/etc/php.inimemory_limit = 256M(或更高,视应用而定)upload_max_filesize = 64Mpost_max_size = 64Mmax_execution_time = 60max_input_time = 60display_errors = Off,log_errors = On/etc/php-fpm.conf/etc/php-fpm.d/www.conflisten = /run/php-fpm/php-fpm.socklisten = 127.0.0.1:9000user = nginx(或 apache);group = nginx(或 apache)pm = dynamic,pm.max_children = 50,pm.start_servers = 5,pm.min_spare_servers = 5,pm.max_spare_servers = 35location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
}
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php-fpm/php-fpm.sock|fcgi://localhost"
</FilesMatch>
SetHandler application/x-httpd-phpsudo systemctl restart php-fpmsudo systemctl reload nginxsudo systemctl reload httpd三 目录权限与运行用户
user/group 应与 Web 服务器运行身份一致(如 nginx 或 apache)sudo chown -R nginx:nginx /var/www/htmlsudo setsebool -P httpd_can_network_connect 1(如应用需对外连接)sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/runtime(/.*)?" && sudo restorecon -R /var/www/html/runtime四 测试与常见问题
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.phphttp://服务器IP/info.php,确认 PHP 版本、Loaded Configuration File(应指向 /etc/php.ini)、FPM/FastCGI 等是否正常/var/log/php-fpm.log、/var/log/php-fpm/www.log/var/log/nginx/error.log/var/log/httpd/error_logupload_max_filesize、post_max_size、memory_limityum provides '*/模块名.so' 查找并安装对应包,然后在 php.ini 中启用或由包自带配置生效