我在tmp目錄中創建文件的功能有問題,例如tmpfile()
和tempnam()
。他們似乎都沒有寫信給tmp並返回錯誤。 upload_tmp_dir
在php ini中設置,文件上傳工作正常。PHP無法找到tmp目錄
當調試這個錯誤時,我發現sys_get_temp_dir()
得到了tmp目錄的位置,不幸的是我的PHP版本(5.1.6)不支持它。我也看到,使用下面的方法取代的sys_get_temp_dir()
功能:
if (!function_exists('sys_get_temp_dir')) {
function sys_get_temp_dir() {
if (!empty($_ENV['TMP'])) { return realpath($_ENV['TMP']); }
if (!empty($_ENV['TMPDIR'])) { return realpath($_ENV['TMPDIR']); }
if (!empty($_ENV['TEMP'])) { return realpath($_ENV['TEMP']); }
$tempfile=tempnam(__FILE__,'');
if (file_exists($tempfile)) {
unlink($tempfile);
return realpath(dirname($tempfile));
}
return null;
}
}
但存在$ _ENV數組中的tmp目錄中沒有提及,正如我前面提到的tempnam()
失敗。
而且open_basedir的是沒有設置這我聽說可能會導致類似的問題
我怎樣才能找出的tmp目錄或者是否甚至還成立?
這是一個Apache服務器配置問題或PHP?
感謝您的幫助
檢查你的php.ini。你應該在那裏找到目錄。 – Colum
它會被稱爲?謝謝 – DonutReply
有不同的變數。我在upload_tmp_dir和session.save_path下找到了該目錄。但是PHP默認是/ tmp – Colum