Síntomas
En una instalación moderna de PrestaShop (9.x) sobre versiones recientes de PHP (8.3 / 8.4) puedes encontrarte con varios problemas a la vez:
Al entrar en Parámetros internacionales > Traducciones aparece un error 500.
No puedes actualizar los módulos nativos de PrestaShop: la descarga se queda bloqueada.
El depurador de Symfony muestra un aviso del tipo:
"Warning: file_get_contents(): http:// wrapper is disabled in the server configuration by allow_url_fopen=0".
Por qué ocurre
PrestaShop utiliza la función de PHP file_get_contents() para conectarse a los servidores oficiales de PrestaShop y descargar los archivos .zip de actualizaciones de módulos y los paquetes de idiomas. Esa conexión saliente necesita que la directiva de PHP allow_url_fopen esté activada.
En las versiones más recientes de PHP (8.3 y 8.4) esta directiva puede venir deshabilitada por defecto en el servidor, mientras que en versiones anteriores estaba activa. Por eso el mismo PrestaShop que funcionaba con una versión de PHP previa empieza a fallar al actualizar módulos o al abrir las traducciones tras cambiar a PHP 8.3 / 8.4.
Solución
La directiva allow_url_fopen debe activarse a nivel de servidor para la versión de PHP que tengas seleccionada. En hosting compartido no puedes cambiarla tú mismo: abre un ticket a soporte indicando tu dominio y la versión de PHP en uso, y la habilitaremos. En un servidor Cloud/VPS se puede dejar configurada de forma personalizada.
Una vez activada, deberías poder actualizar los módulos nativos y acceder a la sección de Traducciones con normalidad.
Aclaración importante sobre los avisos del error_log
Es habitual ver en el error_log muchas líneas de tipo PHP Deprecated en módulos como ps_accounts u otros. Esos avisos son ruido normal de compatibilidad con las versiones modernas de PHP y no impiden el funcionamiento de la tienda. No son la causa del error 500 de Traducciones ni del bloqueo de actualizaciones; ese problema concreto está provocado por allow_url_fopen=0.
Resumen
Error 500 en Traducciones + no se actualizan módulos nativos + aviso
allow_url_fopen=0= falta activar allow_url_fopen para tu versión de PHP.En hosting compartido lo activa soporte; en Cloud/VPS puede configurarse a medida.
Los
PHP Deprecateddel log son normales y no requieren acción.
