sys_get_temp_dir() - 在windows8上返回C:\ Windows

时间:2013-03-12 12:01:27

标签: php windows-8

在windows8上我用php 5.3得到了这个:     

echo sys_get_temp_dir();

输出:

C:\Windows

我不明白什么或者它是一个错误?

UPD

尝试$_ENV

<?php

var_export($_ENV);

输出:

array ( )

检查upload_tmp_dir

<?php

echo ini_get('upload_tmp_dir');

输出:

C:\Windows\Temp

2 个答案:

答案 0 :(得分:2)

查看PHP源代码,它将调用GetTempPath来确定临时目录。根据文档,Windows目录C:\ Windows是最后一个fallthrough选项。您应该检查PHP或其主机进程正在运行的用户配置文件,可能需要一些修复环境。

答案 1 :(得分:0)

与此PHP Bug相关(仅限CGI上下文?)。

我遇到了同样的问题,解决方案是在apache配置文件(httpd.conf)中更改apache配置以将 TEMP 系统环境变量公开给PHP this directive:< / p>

PassEnv TEMP

不要忘记激活 env_module ,通常取消注释行&#34; LoadModule env_module modules / mod_env.so&#34;。

此解决方案修复了这些PHP函数的结果: sys_get_temp_dir() tempnam()