Solucionar Error 500 Prestashop

Notice: tempnam(): file created in the system's temporary directory in
Vamos a ver si podemos sulucionarte el error de tempname y el Warning: rename. Es algo que tiene facil solucón si tu problema ha sido parecido al mio.
Redactor:
Konstantin
Publicado
09/05/2020

Error 500 prestashop TEMPNAME: en classes/PrestaShopAutoload.php on line 264

En mi ocasión al migrar una web de un hosting a un VPS o cambio de dominio solemos mover una cantidad enorme de archivos en nuestro prestashop. Este error me ha causado bastente perdida de tiempo de tiramiento de pelos.Los sintomas eran que la web parecia estable pero petaba por toads partes y al altivar el modo DEBUG me daba el siguiente error

 

Notice: tempnam(): file created in the system's temporary directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 258

Warning: rename(/home/admin/tmp/class_index.phpqY8cSj,/home/admin/web/tudominio.com/public_html/var/cache/dev/class_index.php): No such file or directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 264

Notice: tempnam(): file created in the system's temporary directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 258

Warning: rename(/home/admin/tmp/class_stub.phpLeDBK2,/home/admin/web/tudominio.com/public_html/var/cache/dev/class_stub.php): No such file or directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 264

Notice: tempnam(): file created in the system's temporary directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 258

Warning: rename(/home/admin/tmp/namespaced_class_stub.phpADZ2CL,/home/admin/web/tudominio.com/public_html/var/cache/dev/namespaced_class_stub.php): No such file or directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 264

Notice: tempnam(): file created in the system's temporary directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 258

Warning: rename(/home/admin/tmp/class_index.phpbgvVkw,/home/admin/web/tudominio.com/public_html/var/cache/dev/class_index.php): No such file or directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 264

Notice: tempnam(): file created in the system's temporary directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 258

Warning: rename(/home/admin/tmp/class_stub.phpmEbS2g,/home/admin/web/tudominio.com/public_html/var/cache/dev/class_stub.php): No such file or directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 264

Notice: tempnam(): file created in the system's temporary directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 258

Warning: rename(/home/admin/tmp/namespaced_class_stub.phpJhARK1,/home/admin/web/tudominio.com/public_html/var/cache/dev/namespaced_class_stub.php): No such file or directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 264

Notice: tempnam(): file created in the system's temporary directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 258

Warning: rename(/home/admin/tmp/class_index.php6SC8uP,/home/admin/web/tudominio.com/public_html/var/cache/dev/class_index.php): No such file or directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 264

Notice: tempnam(): file created in the system's temporary directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 258

Warning: rename(/home/admin/tmp/class_stub.phpTbFtfD,/home/admin/web/tudominio.com/public_html/var/cache/dev/class_stub.php): No such file or directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 264

Notice: tempnam(): file created in the system's temporary directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 258

Warning: rename(/home/admin/tmp/namespaced_class_stub.php8PiRZq,/home/admin/web/tudominio.com/public_html/var/cache/dev/namespaced_class_stub.php): No such file or directory in /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php on line 264

Fatal error: Uncaught Error: Class 'Db' not found in /home/admin/web/tudominio.com/public_html/config/alias.php:47 Stack trace: #0 /home/admin/web/tudominio.com/public_html/config/alias.php(52): pSQL('configuration') #1 /home/admin/web/tudominio.com/public_html/classes/Configuration.php(155): bqSQL('configuration') #2 /home/admin/web/tudominio.com/public_html/classes/Configuration.php(209): ConfigurationCore::loadConfiguration() #3 /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php(171): ConfigurationCore::get('PS_DISABLE_OVER...') #4 /home/admin/web/tudominio.com/public_html/classes/PrestaShopAutoload.php(130): PrestaShopAutoload->generateIndex() #5 [internal function]: PrestaShopAutoload->load('Db') #6 /home/admin/web/tudominio.com/public_html/config/alias.php(47): spl_autoload_call('Db') #7 /home/admin/web/tudominio.com/public_html/config/alias.php(52): pSQL('configuration') #8 /home/admin/web/tudominio.com/public_html/classes/Configuration.php(155): bqSQL('configuration in /home/admin/web/tudominio.com/public_html/config/alias.php on line 47

En mi caso he estado utilizando VESTA CP creyendo que era algun bug o algo luego en mi VPS he instalado el PLESK y bueno otra vez me daba el mismo estilo de fallo:

Notice: tempnam(): file created in the system’s temporary directory in…

y el

Warning: rename(/home/admin/tmp/class_index.phpqY8cSj,/home/admin/web/…

Aparentemente el error me daba el archivo classes/PrestaShopAutoload.php on line 264  pero no encontre una solucion dentro ni el los foros. La web me iba bien en el hosting anterior y ahora el prestashop me tira estas movidas.

Posible solución a este error

Como siempre las soluciones a problemas desconocidos se consiguen a base de toque, ir probando, informandote y eso. En mi caso lo consegui solucionando otro error de carga de archivos en el FileManager.

Lo que hice fue restableblecer permisos por defecto ya que probando cambairlos a ROOT carque la carga de directorios. En resumen si tienes cuenta en tu Plesk o vesta y el usuario de carga de archivos es USUARIO123 por ejemplo y tus archivos estan en pertenecientes a ROOT te aconsejo que pongas los permisos de los archivos a dicho usuario. y dejar al usuario root todas aquellas carpetas que estan por encima de httpdocs.

SOLUCION: Poner las carpetas en permisos de acceso 755 y archivos 644. Restablecer los permiso al usuario de tu cuenta de PLESK o VESTA control panel. 

Para ello acceder por SSH como root con Putty por ejemplo y escribir lo siguiente.(ejemplo para Plesk CPANEL)

# find /var/www/vhosts/tuweb.com/httpdocs/ -type f -exec chmod 644 {} \;
# find /var/www/vhosts/tuweb.com/httpdocs/ -type d -exec chmod 755 {} \;
# find /var/www/vhosts/tuweb.com/httpdocs/ -type f -exec chown USUARIO123:psacln {} \;
# find /var/www/vhosts/tuweb.com/httpdocs/ -type d -exec chown USUARIO123:psacln {} \;

Si utilizas Vesta CPANEL el directorio si no me equivoco:

home/admin/web/tuweb.com/public_html/

Espero que le sirva a alaguen. En mi caso este es un post para mantener la experiencia y no olvidarme si surge un problema de nuevo.

 

Saludos.