Portada PrestaShop Cómo Solucionar PHP Fatal error: Parser::parseFile tras Actualizar a PrestaShop 1.7.4.2
A finales de Julio de 2018 el equipo de desarrollo de PrestaShop lanzó la última versión estable de la rama 1.7 de este popular gestor de contenidos para el comercio electrónico.
Estábamos esperando a ver si salía una versión 1.7.4.3, pero parece que se está haciendo de rogar, puesto que ya ha pasado algún tieempo desde PrestaShop 1.7.4.2
El caso es que algunos de nuestros clientes que disponían de la versión 1.7.3.x nos han notificado que al actualizar a la 1.7.4.2, al acceder a la administración de PrestaShop, obtenían el siguiente error fatal de PHP mediante un mensaje:
PHP Fatal error: Uncaught Error: Call to undefined method Symfony\\Component\\Yaml\\Parser::parseFile() in /vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php:667
Por suerte, la solución para arreglar este “PHP fatal error” es muy sencilla. Aunque hay que tener en cuenta que se trata de un error ya conocido por el equipo de desarrollo de PrestaShop, por lo que debería ser corregido en la próxima actualización de PrestaShop, posiblemente con la 1.7.4.3, sin embargo, esa actualización no parece que llegue y por eso hemos decido crear este articulo (ahora seguro que mañana sale la versión 1.7.4.3 :P).
La solución que vamos a indicar a continuación es temporal; no se debe cambiar nada directamente en el core de PrestaShop. Además, al ser una especie de método “casero”, cuando lo arreglen en la próxima versión se pueden revertir los cambios para no dejarlos siempre operativos.
Básicamente lo que hay que hacer para solucionar el PHP Faltal error: Parser::parseFile tras actualizar a PrestaShop 1.7.4.2 es renombrar una carpeta.
Sin saber la carpeta en cuestión la cosa se complica, pero para eso estamos nosotros aquí, para indicar cuál es…
Esta carpeta se puede hallar en la siguiente ruta de PrestaShop 1.7: modules -> ps_facetedsearch -> Vendor.
Para renombrar la carpeta Vendor tenemos que acceder con un cliente de FTP como Filezilla a donde tengamos la instalación de PrestaShop 1.7, y allí buscar la ruta que hemos puesto antes. Incluso también podemos acceder a través del administrador de archivos de cPanel como hemos hecho nosotros para realizar el artículo.
Recordemos que en Hostinet se puede acceder a cPanel de 3 formas diferentes:
Una vez tengamos la carpeta a la vista tan solo debemos renombrarla con otra cosa para que deje de funcionar, por ejemplo, le podemos añadir una barra baja “Vendor_”.
En el administrador de archivos de cPanel sería hacer click con el botón derecho del ratón sobre la carpeta Vendor y después pulsar en la opción de “Rename”.
Añadimos la barra baja, le damos a “Rename file” y listo.
Y con ello se solucionaría el problema de forma temporal hasta que el equipo de desarrollo de PrestaShop lo solucione en la próxima actualización del CMS que no debería tardar mucho en llegar. Cuando eso ocurra no nos podemos olvidar de volver a renombrar la carpeta para ponerle su nombre original (sin la barra baja _).