2

在 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
4

2 回答 2

2

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

于 2013-03-12T12:17:42.910 回答
0

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

我有同样的问题,解决方案是更改 apache 配置以在 apache 配置文件(httpd.conf)中使用此指令将TEMP系统环境变量公开给 PHP :

PassEnv TEMP

不要忘记激活env_module,通常取消注释“LoadModule env_module modules/mod_env.so”行。

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

于 2016-05-23T15:48:44.170 回答