在 CentOS 上配置 PHP 出错,一般可以按下面思路一步步排查和解决。你可以对照看看属于哪一类问题。
先看看具体报什么错,这非常关键:
# 查看 PHP 错误
php -v
php -m
php -i | less
# 如果是 Web 环境
tail -f /var/log/httpd/error_log
# 或
tail -f /var/log/php-fpm/error.log
常见错误类型:
php: command not found说明 PHP 没装或没加环境变量
which php
rpm -qa | grep php
安装 PHP(CentOS 7 示例):
yum install epel-release -y
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum install yum-utils -y
yum-config-manager --enable remi-php74
yum install php php-cli php-fpm -y
检查配置文件语法:
php -i | grep "Loaded Configuration File"
php -l /etc/php.ini
常见错误:
;php -m | grep gd
安装扩展:
yum install php-gd php-mysqli php-mbstring -y
systemctl restart php-fpm
确认模块加载:
httpd -M | grep php
CentOS 7 常见:
yum install php php-mysql
systemctl restart httpd
Apache 配置中需有:
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
确认服务在跑:
systemctl status php-fpm
netstat -lntp | grep 9000
Nginx 配置示例:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
如果你愿意,可以把具体报错信息发出来,比如:
我可以给你针对性的解决方案。