今天遇到过怪事,同样的代码,在cli模式下运行一切正常,到网页里就直接显示500错误。php的错误捕获和内置错误日志都没有记录,查看了apache的日志有一条错误。
[Mon Jul 17 16:01:12.940440 2017] [core:error] [pid 36004:tid 2152] [client 127.0.0.1:62769] End of script output before headers: index.php
折腾了大半天,最终怀疑是操作了临时文件的缘故。调用sys_get_temp_dir()后果不其然!
cli:C:\Users\Yurun\AppData\Local\Temp
网页:C:\WINDOWS
原来是因为网页里临时文件目录识别到了系统文件夹,应该是没有权限导致的500错误。
在php.ini中加入配置后解决:
sys_temp_dir = "你指定一个临时文件夹"
论临时文件夹设置的重要性。。。