2

Windows8では、php5.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 バグに関連しています(CGI コンテキストのみ?)。

私は同じ問題を抱えており、解決策は、apache 構成ファイル (httpd.conf)で次のディレクティブを使用してTEMPシステム環境変数を PHPに公開するように apache 構成を変更することです。

PassEnv TEMP

env_moduleを有効にすることを忘れないでください。通常、「LoadModule env_module modules/mod_env.so」という行のコメントを外します。

このソリューションは、次の PHP 関数の結果を修正します: sys_get_temp_dir()tempnam()

于 2016-05-23T15:48:44.170 に答える