php -v 输出版本号且无报错即说明PHP CLI环境就绪;常见错误包括command not found(PATH未配置)、扩展重复加载、Segmentation fault(二进制损坏);需进一步用php -m、php --ini、php test.php验证扩展、配置和脚本执行能力。

直接执行 php -v 看输出是否含版本号和无报错
这是最快速、最可靠的验证方式。只要 PHP CLI(命令行)能正常调用,基本说明核心环境已就绪。
常见错误现象:
-
command not found: php—— PATH 未配置或安装失败 -
PHP Warning: Module 'xxx' already loaded in Unknown on line 0——php.ini中重复加载扩展,不影响基础运行但需清理 - 只显示
Segmentation fault或直接退出 —— 二进制损坏或与系统库冲突(如 macOS 上用 Homebrew 安装后混用不同架构)
实操建议:
- 在终端输入
php -v,预期输出类似:PHP 8.2.12 (cli) (built: Oct 18 2023 14:22:29) (NTS)
- 若提示找不到命令,先确认安装路径(如
/usr/local/bin/php或/opt/homebrew/bin/php),再检查$PATH是否包含该路径 - 不要依赖浏览器访问
phpinfo()页面作为“第一验证”——Web 服务器(如 Apache/Nginx)配置出错时,页面打不开 ≠ PHP 本身没装好
用 php -m 检查关键扩展是否加载
很多项目依赖 curl、mbstring、json、pdo_mysql 等扩展。仅 php -v 成功不代表功能完整。
立即学习“PHP免费学习笔记(深入)”;
实操建议:
- 运行
php -m | grep -E '^(curl|mbstring|json|pdo|openssl)$',确认关键模块出现在列表中 - 若缺失
mbstring,常见于最小化安装(如 Alpine Linux 的php82包不带它),需额外安装php82-mbstring类包 - 注意 CLI 和 Web SAPI 可能使用不同
php.ini:用php --ini查看 CLI 加载的配置路径;用php -i | grep 'Loaded Configuration File'确认实际生效文件 - 某些扩展(如
opcache)默认启用但不列在php -m中,可用php -i | grep opcache验证
跑一个最简 echo 脚本验证执行能力
CLI 能跑不等于能正确解析语法或处理编码。一个空格、BOM、换行符都可能让脚本静默失败。
实操建议:
- 新建文件
test.php,内容仅一行: - 执行
php test.php,应输出OK(无多余空行或警告) - 如果输出空白,检查文件是否含 UTF-8 BOM(尤其 Windows 编辑器保存时易带),改用无 BOM 的 UTF-8 重存
- 如果报
Parse error: syntax error, unexpected '?' in test.php,说明用了 PHP 7.0+ 的 null coalescing 操作符但环境是 PHP 5.x —— 版本不匹配 - 避免用短标签
,确保short_open_tag = Off时仍能运行(推荐始终用)
Web 服务下验证需区分 SAPI 和权限上下文
CLI 正常 ≠ Web 下正常。Apache/Nginx 进程用户(如 www-data 或 _www)可能无权读取 php.ini、扩展文件或项目目录。
实操建议:
- 创建
info.php放入 Web 根目录:,通过浏览器访问,重点核对:
– “Loaded Configuration File” 是否是你预期的php.ini
– “Server API” 显示为apache2handler或fpm-fcgi,而非cli
– “Extension” 区域是否包含你项目所需模块(和 CLI 下可能不同) - 若页面 500 或空白,查看 Web 服务器错误日志(如 Apache 的
ErrorLog或 Nginx 的error.log),常见报错:PHP Fatal error: Uncaught Error: Call to undefined function curl_init()—— 表明 Web SAPI 没加载curl扩展 - Linux 下 SELinux 启用时,即使文件权限 755,也可能因上下文限制阻止 Apache 加载扩展,需用
ls -Z /path/to/module.so和setsebool -P httpd_can_network_connect 1调整











