在 Ubuntu 上调试 PHP 配置,通常分为 确认 PHP 版本与配置位置、查看当前配置、修改配置、排查常见错误 几个步骤。下面按实用流程来讲。
php -v
php --ini
示例输出:
Loaded Configuration File: /etc/php/8.1/cli/php.ini
⚠️ 注意:
- CLI(命令行)和 Web(Apache / Nginx + PHP-FPM)使用的
php.ini可能不同
phpinfo();
创建测试文件:
sudo nano /var/www/html/info.php
内容:
<?php
phpinfo();
浏览器访问:
http://服务器IP/info.php
查看:
PHP-FPM 的配置文件通常在:
/etc/php/8.1/fpm/php.ini
查看 PHP-FPM 状态:
systemctl status php8.1-fpm
以 PHP 8.1 为例:
| 环境 | 配置文件 |
|---|---|
| CLI | /etc/php/8.1/cli/php.ini |
| Apache | /etc/php/8.1/apache2/php.ini |
| PHP-FPM | /etc/php/8.1/fpm/php.ini |
附加配置目录:
/etc/php/8.1/mods-available/
/etc/php/8.1/fpm/conf.d/
编辑 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
创建日志文件:
sudo touch /var/log/php_errors.log
sudo chown www-data:www-data /var/log/php_errors.log
sudo systemctl restart apache2
sudo systemctl restart php8.1-fpm
sudo systemctl restart nginx
php -i | grep display_errors
php -l test.php
php test.php
conf.d 覆盖查看加载顺序:
php --ini
display_errors = Offerror_logphp -m
安装扩展示例:
sudo apt install php8.1-mysql
sudo systemctl restart php8.1-fpm
php -l:语法检查phpinfo():配置总览tail -f /var/log/php_errors.log:实时日志如果你能告诉我:
我可以给你更精确的排查步骤。