PHP无法运行通常因环境配置错误:PATH未设、Web服务器未关联PHP、php.ini路径错误或扩展未启用;应通过php -v、php --ini、phpinfo()定位真实配置。
PHP 下载安装后无法运行,绝大多数情况不是 PHP 本身坏了,而是环境没接通——php.exe 没进系统路径、Web 服务器没配对、或 CLI 与 Web 使用的 php.ini 不是同一份。
php -v 报“不是内部或外部命令”这是 Windows 上最常见问题:系统根本找不到 php.exe。
php.exe(比如 C:\php\php.exe)C:\php)添加到系统 PATH 环境变量,**不是**加 C:\php\php.exe
php -v,旧窗口不会自动刷新环境变量php-cgi.exe 或直接用 php -S 内置服务器测试localhost 显示空白或下载 .php 文件说明 Web 服务器(Apache/Nginx)没有把 .php 请求交给 PHP 处理,只是当普通文件返回了。
httpd.conf 是否启用了 LoadModule php_module,且 AddHandler application/x-httpd-php .php
已配置location ~ \.php$ 块里 fastcgi_pass 是否指向正确的 PHP-FPM 地址(如 127.0.0.1:9000),并确认 PHP-FPM 进程正在运行(php-fpm.exe 或服务方式启动)php -S localhost:8000,然后访问
http://localhost:8000 —— 这步绕过所有 Web 服务器配置,直击 PHP 解释器本身phpinfo() 页面不显示或报错“Call to undefined function”函数不存在,通常是因为扩展没启用,或 php.ini 加载错了位置。
php --ini 查看实际加载的 php.ini 路径,别凭感觉去改别的文件php.ini,取消注释(去掉分号)extension_dir 和关键扩展如 extension=mysqli、extension=mbstring
.dll,确保 extension_dir 指向的目录里有对应文件(如 php_mysqli.dll),且该 DLL 依赖的 vcruntime140.dll 等运行库已安装php.ini 后,Apache/Nginx 必须重启,PHP-FPM 必须 reload,内置服务器要重开不是卡死,是 PHP 出了致命错误但错误报告被关了,导致什么也不输出。
php.ini 中设好这三项:display_errors = On
display_startup_errors = On
error_reporting = E_ALL
output_buffering 开着但内容未 flush,或 BOM 头导致 header 发送失败——用编辑器另存为「UTF-8 无 BOM」格式真正麻烦的从来不是装不上,而是你以为它在运行,其实用的是另一套配置、另一个 php.ini、甚至另一个 PHP 版本。每次怀疑出问题,第一反应不应该是重装,而是跑一遍 where php、php --ini、php -r "print phpinfo();" —— 把实际在跑的东西揪出来,比猜快得多。