在 Ubuntu 上验证 PHP 配置,通常可以从命令行和Web 环境两个角度来检查。下面按常见场景给你一套完整、实用的验证方法。
php -v
✅ 正常输出示例:
PHP 8.1.2 (cli) (built: ...)
如果提示 command not found,说明 PHP 未安装或未加入 PATH。
php --ini
输出示例:
Loaded Configuration File: /etc/php/8.1/cli/php.ini
✅ 这个文件是 CLI 模式的配置(命令行 PHP)
例如查看 upload_max_filesize:
php -i | grep upload_max_filesize
或:
php -r "echo ini_get('upload_max_filesize');"
如果你是通过 Nginx / Apache + PHP-FPM 运行 PHP,CLI 配置 ≠ Web 配置。
php-fpm8.1 -i | grep "Loaded Configuration File"
或:
ls /etc/php/8.1/fpm/
常见路径:
/etc/php/8.1/fpm/php.ini
systemctl status php8.1-fpm
启动 / 重启:
sudo systemctl restart php8.1-fpm
sudo nano /var/www/html/phpinfo.php
内容:
<?php
phpinfo();
http://服务器IP/phpinfo.php
你可以看到:
php.ini⚠️ 测试完成后务必删除
rm /var/www/html/phpinfo.php
确认 Nginx 配置中包含:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
重载 Nginx:
sudo systemctl reload nginx
sudo apt install libapache2-mod-php
sudo systemctl restart apache2
| 目的 | 命令 |
|---|---|
| 查看 PHP 版本 | php -v |
| 查看 CLI php.ini | php --ini |
| 查看 Web php.ini | phpinfo() |
| 查看 PHP-FPM 状态 | systemctl status php8.1-fpm |
| 查看某个配置项 | php -i | grep 配置名 |
phpinfo() 看到的是“真实生效配置”如果你愿意,可以告诉我:
我可以帮你精确检查某一项配置(如上传大小、OPcache、错误日志等)。