在 Ubuntu 上“调试 PHP 配置”通常分为几个层面:确认 PHP 是否生效、查看当前配置、定位配置文件、排查错误、调整参数并验证。下面按实用步骤来。
php -v
如果是 Web 环境(Apache/Nginx),还要确认 CLI 和 Web 用的是不是同一个 PHP。
创建一个测试文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/phpinfo.php
浏览器访问:
http://你的IP/phpinfo.php
可以看到:
⚠️ 测试完务必删除:
sudo rm /var/www/html/phpinfo.php
php --ini
常见位置:
/etc/php/8.1/apache2/php.ini
/etc/php/8.1/fpm/php.ini
/etc/php/8.1/cli/php.ini
(版本号按你实际安装来)
Web 和 CLI 是两套配置,改错文件不会生效。
编辑对应 php.ini:
sudo nano /etc/php/8.1/fpm/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 + PHP-FPM:
sudo systemctl restart php8.1-fpm
sudo systemctl restart nginx
sudo tail -f /var/log/php_errors.log
或 Apache 错误日志:
sudo tail -f /var/log/apache2/error.log
php -l yourfile.php
php yourfile.php
php -m
✅ PHP 不生效?
sudo a2enmod php8.1
fastcgi_pass✅ 修改 php.ini 不生效?
✅ 上传/超时问题?
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
在 PHP 文件顶部加:
ini_set('display_errors', 1);
error_reporting(E_ALL);
如果你能说明:
我可以直接帮你定位问题。