PHP脚本执行失败排查:排除XAMPP安装问题后疑为代码问题
解决XAMPP下最简PHP脚本报错的排查方案
兄弟,我之前也碰到过几乎一模一样的情况!既然两台装了不同版本XAMPP的电脑都出这个问题,那肯定跟XAMPP本身没啥关系,问题大概率出在文件权限、路径配置或者PHP的限制上。你提到的Warning: Unknown: failed to open stream: No su...这个截断的警告,给你几个实打实的排查方向:
先核对文件权限
不管是Windows还是Mac/Linux,Apache的运行用户得有读取你PHP脚本的权限:- Windows:右键脚本文件→「属性」→「安全」,确保
SYSTEM或者Apache相关用户(比如httpd)有「读取」权限; - Mac/Linux:打开终端到脚本所在目录,执行这两个命令:
sudo chmod 644 your_script.php sudo chmod 755 your_script_folder
给文件设可读权限,目录设可访问权限。
- Windows:右键脚本文件→「属性」→「安全」,确保
确认脚本是否在XAMPP的允许目录里
XAMPP默认只让Apache访问htdocs目录下的文件,要是你把脚本放在了htdocs外面,肯定会触发权限限制。赶紧把脚本移到htdocs里(比如htdocs/test.php),然后访问http://localhost/test.php试试。检查PHP的
open_basedir配置
这个配置会限制PHP能访问的目录范围:- 打开XAMPP控制面板,点击Apache的「Config」→「PHP (php.ini)」;
- 在打开的文件里搜索
open_basedir; - 如果前面有
;注释掉了就不用管,要是没注释,看看里面的路径列表有没有包含你的脚本所在目录,没有的话要么移脚本,要么修改配置添加路径(比如Windows下open_basedir = "C:/xampp/htdocs;C:/your/custom/folder"),改完记得重启Apache。
获取完整错误信息
你现在看到的No su...是截断的提示,根本没法精准定位。你可以在脚本开头加上这两行代码,强制显示所有错误:<?php error_reporting(E_ALL); ini_set('display_errors', 1); echo "HELLO"; ?>或者去XAMPP的
apache/logs目录找PHP错误日志,里面肯定有完整的报错内容。
内容的提问来源于stack exchange,提问作者Mike S
相关产品推荐
相关产品推荐

