Tengo problemas con las funciones que crean archivos en el directorio tmp como tmpfile()
y tempnam()
. Todos parecen no escribir en tmp y devuelven falso. upload_tmp_dir
está configurado en php ini y las cargas de archivos funcionan bien.PHP No se puede encontrar el directorio tmp
Al depurar este error encontré que sys_get_temp_dir()
tiene la ubicación del directorio tmp lamentablemente no es compatible con mi versión de PHP (5.1.6). También vi que utilizando el siguiente método reemplaza la funcionalidad de 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;
}
}
Pero no hay ninguna referencia a un directorio tmp en el array $ _ENV y tempnam()
falla como he mencionado antes.
también open_basedir no se establece lo que he oído pueden causar problemas similares
¿Cómo puedo saber dónde está el directorio tmp es o si incluso se establece?
¿Es este un problema de configuración del servidor apache o uno de PHP?
Gracias por su ayuda
Compruebe su php.ini. Deberías encontrar el directorio allí. – Colum
¿cómo se llamaría? gracias – DonutReply
Hay diferentes variables. Encontré el directorio bajo upload_tmp_dir y session.save_path. Pero el valor predeterminado de PHP es/tmp – Colum