Php sys\u get\u temp\u dir()-返回windows8上的C:\Windows
在windows8上,我通过PHP5.3实现了这一点:Php sys\u get\u temp\u dir()-返回windows8上的C:\Windows,php,windows-8,Php,Windows 8,在windows8上,我通过PHP5.3实现了这一点: echo sys_get_temp_dir(); 输出: C:\Windows array ( ) C:\Windows\Temp 是我不明白什么,还是它是一个bug UPD 正在尝试$\u ENV: <?php var_export($_ENV); 正在检查上载tmp目录: <?php echo ini_get('upload_tmp_dir'); 查看PHP源代码,它将调用以确定临时目录。根据文档,windo
echo sys_get_temp_dir();
输出:
C:\Windows
array ( )
C:\Windows\Temp
是我不明白什么,还是它是一个bug
UPD
正在尝试$\u ENV
:
<?php
var_export($_ENV);
正在检查上载tmp目录:
<?php
echo ini_get('upload_tmp_dir');
查看PHP源代码,它将调用以确定临时目录。根据文档,windows目录C:\windows是最后一个故障排除选项。您应该检查运行PHP或其主机进程的用户配置文件,可能环境需要一些修复。与此相关(仅CGI上下文?) 我也有同样的问题,解决方案是更改apache配置,将TEMP系统环境变量公开给PHP,并在apache配置文件(httpd.conf)中使用: 不要忘记激活env_模块,通常取消注释“LoadModule env_modules/mod_env.so”行
此解决方案修复了以下PHP函数的结果:sys_get_temp_dir(),tempnam()。可能是Windows 8的错误。尝试更新您的
php
版本并再次检查。Win上不会出现这种情况。所以这可能是一场胜利。今天早些时候报道:,PHP团队还没有回答。是的,是我报道的。但我仍然不确定如何找到解决方法尝试打印$\u ENV['TMP']
,$\u ENV['TMPDIR']
,以及$\u ENV['TEMP']
在我的设置中一切都是标准的。。Apache2.2作为web服务+PHP5.3,mod_fcgid作为fcgi模块。在my php.ini中找不到任何错误。您应该重新检查系统上是否正确设置了TMP和/或TEMP环境变量。如果Apache作为Windows服务运行,则%USERPROFILE%temp目录可能不可用,只剩下这两个。您是否尝试过在自己的用户帐户下从命令行运行一个简单的测试脚本,该脚本只输出sys_get_temp_dir()的值?在更改环境变量时请记住本文:Hm。。关于控制台脚本,您是对的:c:\ProgramFiles(x86)\PHP>PHP-r“echo sys_get_temp_dir()”,c:\Users\Vitaly\AppData\Local\temp
PassEnv TEMP