最直接判断PHP运行状态是验证Web环境能否解析phpinfo(),而非仅依赖php -v;需确认php.ini路径、扩展启用、时区、临时目录可写、错误报告及PATH_INFO支持。

检查 PHP 版本和基本运行状态
最直接的判断方式是确认 PHP 是否能正常解析并输出结果,而不是只看 Web 服务器是否启动。很多情况下 php -v 能执行,但 Web 环境里却报 500 错误,说明 CLI 和 CGI/FPM 是两套配置。
- 在终端运行
php -v,确认输出类似PHP 8.1.27 (cli),且无Segmentation fault或扩展加载失败提示 - 创建一个
info.php文件,内容为 ,通过浏览器访问(如http://localhost/info.php),观察是否完整渲染、有无红色错误区块 - 若页面空白或 500,查看 Web 服务器错误日志(如 Nginx 的
error.log或 Apache 的error_log),常见原因是php-fpm.sock权限不对或未启动
验证关键扩展是否已启用
很多框架(Laravel、ThinkPHP)或组件(PDO、cURL、OpenSSL)依赖特定扩展,缺一则整个环境不可用。仅靠 php -m 列表不够,要确认它们在 Web 环境中也生效。
- 在
info.php页面搜索Loaded Configuration File,确认你修改的是该路径下的php.ini - 检查扩展是否被正确启用:
extension=mysqli、extension=pdo_mysql、extension=openssl、extension=curl—— 注意 Windows 下是.dll,Linux/macOS 下是.so - 改完
php.ini后必须重启对应服务:sudo systemctl restart php-fpm(FPM 模式)或sudo systemctl restart apache2(Apache 模式) - 用代码快速验证:
测试基础功能:文件读写、时区、错误报告
环境“可用”不只是能跑 hello world,还要能支撑实际开发——比如写日志、处理时间、抛出可捕获的错误。
一个经过完善设计的经典网上购物系统,适用于各种服务器环境的高效网上购物系统解决方案,shopxp购物系统Html版是我们首次推出的免费购物系统源码,完整可用。我们的系统是免费的不需要购买,该系统经过全面测试完整可用,如果碰到问题,先检查一下本地的配置或到官方网站提交问题求助。 网站管理地址:http://你的网址/admin/login.asp 用户名:admin 密 码:admin 提示:如果您
- 检查时区设置是否合法:
date_default_timezone_get()应返回类似Asia/Shanghai,而非UTC或空字符串;否则date()行为异常,且 Laravel 等会报警告 - 测试临时目录是否可写:
is_writable(sys_get_temp_dir()),否则 Composer 安装、框架缓存都会失败 - 确认错误是否显示:
ini_get('display_errors')应为1(开发环境),同时error_reporting建议设为E_ALL;生产环境则应关掉display_errors,但确保log_errors = On - 简单脚本验证:
检查 PATH_INFO 和 URL 重写支持(对框架路由至关重要)
Laravel、ThinkPHP 等依赖 PATH_INFO 或 mod_rewrite 实现友好 URL,若未开启,所有路由都 404。
立即学习“PHP免费学习笔记(深入)”;
- 在
info.php中搜索PATH_INFO,确认其值存在且不为空(如/index.php/test) - Apache 用户检查
LoadModule rewrite_module modules/mod_rewrite.so是否启用,并确认.htaccess允许覆盖:AllowOverride All - Nginx 用户需在 server 配置中显式传递 PATH_INFO:
fastcgi_split_path_info ^(.+\.php)(/.+)$;+fastcgi_param PATH_INFO $fastcgi_path_info; - 快速验证:访问
http://localhost/index.php/test,在index.php中打印$_SERVER['PATH_INFO'],应输出/test
php.ini,以及 FPM 进程用户(如 www-data)对项目目录没有读写权限——这两点导致的问题现象和报错位置往往非常隐蔽。










