温馨提示×

如何调试ubuntu php配置

小樊
47
2026-10-13 05:10:48
栏目: 编程语言

在 Ubuntu 上调试 PHP 配置,通常可以从确认 PHP 版本、查看生效配置、开启错误显示、检查 Web 服务器配置几个方面入手。下面按步骤说明。


一、确认 PHP 版本与运行环境

1. 查看 PHP 版本

php -v

如果你用 Apache:

apache2 -v

如果你用 Nginx + PHP-FPM:

php-fpm -v

2. 确认 CLI 和 Web 使用的 PHP 是否一致

php -i | grep "Loaded Configuration File"

Web 环境(Apache/Nginx)可能使用不同的 php.ini。


二、找到正在使用的 php.ini

CLI

php --ini

Apache

phpinfo();

或

grep -R "php.ini" /etc/apache2/

PHP-FPM(Nginx)

ls /etc/php/

例如:

/etc/php/8.1/fpm/php.ini

修改后重启:

sudo systemctl restart php8.1-fpm
sudo systemctl restart nginx

三、开启错误显示(调试关键)

在 php.ini 中修改:

display_errors = On
display_startup_errors = On
error_reporting = E_ALL
log_errors = On
error_log = /var/log/php_errors.log

Apache:

sudo systemctl restart apache2

Nginx + FPM:

sudo systemctl restart php8.1-fpm

四、使用 phpinfo() 调试配置

创建测试文件:

sudo nano /var/www/html/info.php

内容:

<?php
phpinfo();

浏览器访问:

http://localhost/info.php

可确认:

  • 实际加载的 php.ini
  • 模块是否启用
  • 配置项是否生效

调试完后务必删除该文件。


五、查看 PHP 错误日志

sudo tail -f /var/log/php_errors.log

Apache 错误日志:

sudo tail -f /var/log/apache2/error.log

Nginx 错误日志:

sudo tail -f /var/log/nginx/error.log

六、常见调试场景

1. 修改 php.ini 不生效

  • 改错文件(CLI vs FPM)
  • 没重启服务
  • 被虚拟主机或 .user.ini 覆盖

2. 上传文件失败

upload_max_filesize = 20M
post_max_size = 20M

3. 脚本超时

max_execution_time = 300

4. 扩展未加载

php -m

安装扩展:

sudo apt install php8.1-mysql php8.1-curl

七、快速排错命令汇总

php -i | grep "Configuration File"
sudo apachectl -M | grep php
systemctl status php8.1-fpm
tail -f /var/log/php_errors.log

如果你能告诉我:

  • Ubuntu 版本
  • PHP 版本
  • 使用 Apache 还是 Nginx
  • 具体报错信息

我可以给你更精确的调试方案。

0 踩