AntonioMenchon Posted April 4, 2020 Share Posted April 4, 2020 Hola gente. Tras migrar una tienda Prestashop 1.6.1.6 a un nuevo servidor y configurar todo, funciona correctamente, salvo la incidencia de que es imposible acceder a la pestaña de servicio a clientes. Al parecer el fallo no es del controlador, porque lo he reinstalado en el directorio config, procedente de una descarga de prestashop oficial. El correo electrónico funciona correctamente, con una cuenta creada y alojada en el dominio. ¿Alguien me puede ayudar a averiguar el fallo? Tras un rato, queda en error 500. He habilitado el modo depuración y no me aparece ningún error en el front... El reporte de logs de apache2 es correcto. Un saludo. Link to comment Share on other sites More sharing options...
ventura Posted April 4, 2020 Share Posted April 4, 2020 Puede ser un problema de PHP y/o variables de entorno, Revisa por ejemplo que tengas instalado en tu servidor la extensión mbstring php -m Link to comment Share on other sites More sharing options...
AntonioMenchon Posted April 4, 2020 Author Share Posted April 4, 2020 8 hours ago, ventura said: Puede ser un problema de PHP y/o variables de entorno, Revisa por ejemplo que tengas instalado en tu servidor la extensión mbstring php -m Hola Ventura. Sí que lo tengo, adjunto resultado por consola: root@admin:~# php -m [PHP Modules] calendar Core ctype curl date dom exif fileinfo filter ftp gd gettext hash iconv imap intl json ldap libxml mbstring mcrypt mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql Phar posix pspell readline Reflection session shmop SimpleXML soap sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader xmlwriter xsl Zend OPcache zip zlib [Zend Modules] Zend OPcache Link to comment Share on other sites More sharing options...
ventura Posted April 4, 2020 Share Posted April 4, 2020 Revisa también que esté activada php -i | grep mbstring // Multibyte decoding support using mbstring => enabled también revisa la ubicación de php -i | grep session.save_path que este en /tmp Link to comment Share on other sites More sharing options...
AntonioMenchon Posted April 4, 2020 Author Share Posted April 4, 2020 2 hours ago, ventura said: Revisa también que esté activada php -i | grep mbstring // Multibyte decoding support using mbstring => enabled también revisa la ubicación de php -i | grep session.save_path que este en /tmp Vale, aquí creo que puede estar el problema. al grep de mbstring me arroja esto: /etc/php/7.0/cli/conf.d/20-mbstring.ini, Zend Multibyte Support => provided by mbstring mbstring mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1. mbstring.detect_order => no value => no value mbstring.encoding_translation => Off => Off mbstring.func_overload => 0 => 0 mbstring.http_input => no value => no value mbstring.http_output => no value => no value mbstring.http_output_conv_mimetypes => ^(text/|application/xhtml\+xml) => ^(text/|application/xhtml\+xml) mbstring.internal_encoding => no value => no value mbstring.language => neutral => neutral mbstring.strict_detection => Off => Off mbstring.substitute_character => no value => no value Y al segundo, la ubicación es la siguiente: root@aguinautic:~# php -i | grep session.save_path session.save_path => /var/lib/php/sessions => /var/lib/php/sessions Pero, cómo le indico que lo guarde en /tmp?? Link to comment Share on other sites More sharing options...
Gerardo Martinez G Posted April 4, 2020 Share Posted April 4, 2020 (edited) carpera sessions hace un tiempo encontré errores con esta carpeta... Mismo prestashop tiene su carpeta en /{yourPrestashopPaht}/var/sessions y lo corregimos en el archivo php.ini o .user.ini dependiendo de tu servidor... Con esto se nos corrigieron demasiados errores... por razones de privilegios de usuarios de sistema OS… y la carpeta de usuario PrestaShop error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED log_errors = On display_errors = on error_log = "/{yourPrestashopPaht}/user-error.log" session.save_path = "/{yourPrestashopPaht}/var/sessions" de esta forma me pondra los errores php en el archivo user-error.log y las sessiones las pondra en la carpeta de prestashop/var/sessions agrega esto en uno de los archivos o si lo prefieres en los dos si no sabez cual usa tu systema PHP /{yourPrestashopPaht}/php.ini o /{yourPrestashopPaht}/.user.ini reinicia el servicio de php... y espero te funcione Edited April 4, 2020 by Gerardo Martinez G (see edit history) Link to comment Share on other sites More sharing options...
AntonioMenchon Posted April 4, 2020 Author Share Posted April 4, 2020 1 hour ago, Gerardo Martinez G said: carpera sessions hace un tiempo encontré errores con esta carpeta... Mismo prestashop tiene su carpeta en /{yourPrestashopPaht}/var/sessions y lo corregimos en el archivo php.ini o .user.ini dependiendo de tu servidor... Con esto se nos corrigieron demasiados errores... por razones de privilegios de usuarios de sistema OS… y la carpeta de usuario PrestaShop error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED log_errors = On display_errors = on error_log = "/{yourPrestashopPaht}/user-error.log" session.save_path = "/{yourPrestashopPaht}/var/sessions" de esta forma me pondra los errores php en el archivo user-error.log y las sessiones las pondra en la carpeta de prestashop/var/sessions agrega esto en uno de los archivos o si lo prefieres en los dos si no sabez cual usa tu systema PHP /{yourPrestashopPaht}/php.ini o /{yourPrestashopPaht}/.user.ini reinicia el servicio de php... y espero te funcione Creo que no te entiendo... A ver, tengo Prestashop instalado en un vestaCp, tiene esta ruta: /home/admin/web/miweb.com/public_html y dentro de public_html, los archivos de prestashop 1.6 Adapter error500.html log adminxxxxxxx error_log mails architecture.md fonts modules cache footer.php override cgi-bin google41f6112e733e9252.html pdf classes header.php README.md config images.inc.php RECOMENDACIONES.pdf config.codekit3 img robots.txt CONTRIBUTING.md index.html_ themes CONTRIBUTORS.md index.html-bk tools controllers index.php translations Core init.php upload css js webservice docs LICENSES download localization Pero si introduzco en /etc/php/7.0/apache2/php.ini lo que dices, con esta ruta: log_errors = On display_errors = on error_log = "/home/admin/web/miweb.com/public_html/user-error.log" session.save_path = "/home/admin/web/miweb.com/public_html/var/sessions" No funciona todo sigue igual. Link to comment Share on other sites More sharing options...
AntonioMenchon Posted April 4, 2020 Author Share Posted April 4, 2020 También he probado así: log_errors = On display_errors = on error_log = "/var/log/vesta/error.log" session.save_path = "/var/sessions" Pero tampoco Link to comment Share on other sites More sharing options...
Gerardo Martinez G Posted April 5, 2020 Share Posted April 5, 2020 (edited) en un archivo directo en la carpeta de tu prestashop /home/admin/web/miweb.com/public_html/php.ini o /home/admin/web/miweb.com/public_html/.user.ini E PUSE EL EJEMPLO DE DOS ARCHIVOS, POR QUE HAY SERVIDORES QUE USAN UNO U OTRO... PODRIAS PONER LOS DOS SI NO SABEZ CUAL USA .user.ini lleva un punto al inicio ---->>>tienes que reiniciar el servicio php para que tome los nuevos valores - a mi me funciona este commando estando como usuario root service php* restart Edited April 5, 2020 by Gerardo Martinez G (see edit history) Link to comment Share on other sites More sharing options...
Gerardo Martinez G Posted April 5, 2020 Share Posted April 5, 2020 (edited) hace 21 horas, AntonioMenchon dijo: Tras un rato, queda en error 500. He habilitado el modo depuración y no me aparece ningún error en el front... El reporte de logs de apache2 es correcto ok considero y por lo que has escrito... el error 500 lo ve visto demaciado por privilegios de archivos y folders. ejecuta esto dentro del folder perstashop logico sin el $ $ cd /home/admin/web/miweb.com/public_html/ $ find . -type f -exec chmod 644 {} \; $ find . -type d -exec chmod 755 {} \; y lo peor, es que usen el usuario root para configurar el servidor y ese mismo usuario lo uses para poner archivos en la web... Usuarios root solo configuraciones de servidor sin tocar nada de archivos del folder que este en la web usuario normal es el que modifica todos los archivos de public_html Edited April 5, 2020 by Gerardo Martinez G (see edit history) Link to comment Share on other sites More sharing options...
AntonioMenchon Posted April 5, 2020 Author Share Posted April 5, 2020 4 hours ago, Gerardo Martinez G said: en un archivo directo en la carpeta de tu prestashop /home/admin/web/miweb.com/public_html/php.ini o /home/admin/web/miweb.com/public_html/.user.ini E PUSE EL EJEMPLO DE DOS ARCHIVOS, POR QUE HAY SERVIDORES QUE USAN UNO U OTRO... PODRIAS PONER LOS DOS SI NO SABEZ CUAL USA .user.ini lleva un punto al inicio ---->>>tienes que reiniciar el servicio php para que tome los nuevos valores - a mi me funciona este commando estando como usuario root service php* restart O yo no te entiendo, o a mí no me funciona... sorry Link to comment Share on other sites More sharing options...
AntonioMenchon Posted April 5, 2020 Author Share Posted April 5, 2020 4 hours ago, Gerardo Martinez G said: ok considero y por lo que has escrito... el error 500 lo ve visto demaciado por privilegios de archivos y folders. ejecuta esto dentro del folder perstashop logico sin el $ $ cd /home/admin/web/miweb.com/public_html/ $ find . -type f -exec chmod 644 {} \; $ find . -type d -exec chmod 755 {} \; y lo peor, es que usen el usuario root para configurar el servidor y ese mismo usuario lo uses para poner archivos en la web... Usuarios root solo configuraciones de servidor sin tocar nada de archivos del folder que este en la web usuario normal es el que modifica todos los archivos de public_html Vale, no tenía ni idea de lo de los usuarios. Los permisos nuevos, los asigno con root?? o con el usuario secundario??? Link to comment Share on other sites More sharing options...
ventura Posted April 5, 2020 Share Posted April 5, 2020 8 hours ago, AntonioMenchon said: Creo que no te entiendo... A ver, tengo Prestashop instalado en un vestaCp, tiene esta ruta: /home/admin/web/miweb.com/public_html Nunca se debe instalar la web en el directorio home, mejor siempre asi por ejemplo /var/www/vhosts/dominio.com/httpdocs/ el directorio /tmp deberia estar en la ruta /var/www/vhosts/dominio.com/tmp Con permisos chmod 755 Entiendo que no estas en un entorno de producción y por eso lo estas haciendo asÍ. Aunque no es recomendable para nada, servicios web, servidor de correo, SSL..... En cuanto a los usuarios que te comenta el compañero. Lo mas indicado es que a partir de /httpdocs o public_html lo hagas con el usuario secundario Link to comment Share on other sites More sharing options...
AntonioMenchon Posted April 5, 2020 Author Share Posted April 5, 2020 9 hours ago, ventura said: Nunca se debe instalar la web en el directorio home, mejor siempre asi por ejemplo /var/www/vhosts/dominio.com/httpdocs/ el directorio /tmp deberia estar en la ruta /var/www/vhosts/dominio.com/tmp Con permisos chmod 755 Entiendo que no estas en un entorno de producción y por eso lo estas haciendo asÍ. Aunque no es recomendable para nada, servicios web, servidor de correo, SSL..... En cuanto a los usuarios que te comenta el compañero. Lo mas indicado es que a partir de /httpdocs o public_html lo hagas con el usuario secundario Ok, Ventura. Instalé VestaCp a mano sobre un servidor VPS ubuntu 16.04. Esa es la ruta que, por defecto, Vesta escogió para alojar los sitios web. ¿Debería cambiarlo? ¿Cómo lo hago, porque si lo cambio de lugar, no me lo reconocería vesta? De todas formas, el servicio al cliente de Presta sigue sin funcionar. Por lo que he observado, las sesiones me la está guardando en /home/admin/tmp/ Le he metido esa ruta a arhivo de configuración de apache2, pero sigue igual. Link to comment Share on other sites More sharing options...
AntonioMenchon Posted April 5, 2020 Author Share Posted April 5, 2020 (edited) 10 hours ago, ventura said: Nunca se debe instalar la web en el directorio home, mejor siempre asi por ejemplo /var/www/vhosts/dominio.com/httpdocs/ el directorio /tmp deberia estar en la ruta /var/www/vhosts/dominio.com/tmp Con permisos chmod 755 Entiendo que no estas en un entorno de producción y por eso lo estas haciendo asÍ. Aunque no es recomendable para nada, servicios web, servidor de correo, SSL..... En cuanto a los usuarios que te comenta el compañero. Lo mas indicado es que a partir de /httpdocs o public_html lo hagas con el usuario secundario Estoy en entorno de un vps con lets encryp activo y servidor de correo electrónico funcionando. La web ya está publicada... Edited April 5, 2020 by AntonioMenchon (see edit history) Link to comment Share on other sites More sharing options...
AntonioMenchon Posted April 5, 2020 Author Share Posted April 5, 2020 9 minutes ago, AntonioMenchon said: Estoy en entorno de un vps con lets encryp activo y servidor de correo electrónico funcionando. La web ya está publicada... Y acabo de descubrir, que en el errorlogs de vesta me arroja este error: *1493 upstream timed out (110: Connection timed out) while reading response header from upstream, Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now