Volver a Proyectos Listado de Artículos

Error en directorio temporal Swift Mailer

Luis Ruiz

Escrito por Luis Ruiz Actualizado el

Si utilizáis Swift Mailer para realizar los envío de newsletter puede que al montarlo en algunos servidores compartido os de un error 'open_basedir restriction in effect'

Hola a todos, si utilizáis Swift Mailer para realizar los envío de newsletter puede que al montarlo en algunos servidores compartido os de un error ‘open_basedir restriction in effect’, como este:

[html]

Warning: is_writable() [function.is-writable]: open_basedir restriction in effect. File(/var/tmp) is not within the allowed path(s): (/usr/home/prueba.com/:/home/prueba.com/:/usr/home/phpMyAdmin-plan6/:/usr/home/webstats/) in /usr/home/prueba.com/web/com/Swift-4.0.6/preferences.php on line 15

Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at /usr/home/prueba.com/web/com/Swift-4.0.6/preferences.php:15) in /usr/home/prueba.com/web/com/session.class.php on line 7
[/html]

La solución es la siguiente, os vais al fichero llamado ‘preferences.php’ y sustituís estas líneas:

[php]
if (function_exists(‘sys_get_temp_dir’) && is_writable(sys_get_temp_dir())){
Swift_Preferences::getInstance()
-> setTempDir(sys_get_temp_dir())
-> setCacheType(‘disk’);
}
[/php]

por

[php]
if (function_exists(‘ini_get’) && is_writable(ini_get(‘upload_tmp_dir’))){
Swift_Preferences::getInstance()
-> setTempDir(ini_get(‘upload_tmp_dir’))
-> setCacheType(‘disk’);
}
[/php]

Con este simple cambio se soluciona el problema.