诊断Ubuntu PHP-FPM的错误可以通过以下几个步骤进行:
检查PHP-FPM服务状态:
使用 systemctl
命令查看服务的状态:
sudo systemctl status php7.0-fpm
如果服务未运行,会显示类似“inactive (dead)”的信息。
检查PHP-FPM进程是否存在:
使用 pgrep
命令查找PHP-FPM的进程:
pgrep php7.0-fpm
如果PHP-FPM未运行,这条命令不会列出任何进程号。
查看监听端口:
使用 netstat
或 ss
命令确认PHP-FPM是否正在监听正确的套接字或端口:
netstat -plnt | grep php7.0-fpm
或者针对Unix套接字:
ls -l /var/run/php/php7.0-fpm.sock
访问PHP-FPM状态页面(如果已启用):
在php-fpm配置文件中启用了状态页面,可以通过浏览器访问:
http://localhost/status_page
这里的 /status_page
对应配置文件中 pm.status_path
设置的路径。
查看日志文件:
检查PHP-FPM的日志文件,以了解是否有错误或警告信息:
less +F /var/log/php7.0-fpm.log
根据具体配置定位日志文件的位置。
使用 strace
进行调试:
安装 strace
并使用它来跟踪PHP-FPM进程:
sudo apt install strace
strace -f -ff -t -d -p <PID>
其中 <PID>
是PHP-FPM进程的ID。
检查配置文件:
确认PHP-FPM的配置文件(通常位于 /etc/php/X.X/fpm/pool.d/www.conf
)是否有错误,例如监听地址、端口配置等。
重启PHP-FPM服务:
如果服务未启动或配置有变,可以使用以下命令重启PHP-FPM服务:
sudo systemctl restart php7.0-fpm
若想让它开机自动启动,可以执行:
sudo systemctl enable php7.0-fpm
通过以上步骤,可以诊断并解决Ubuntu系统中PHP-FPM的常见错误。如果问题依然存在,建议查看具体的错误日志文件,以便进一步分析问题所在。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:Ubuntu中如何排查php-fpm错误