Magento bajo PHP 5.4 Servidor web - fatal: getFrontNameByRoute () en no objeto


14

¿Alguien ha logrado que Magento se ejecute en PHP 5.4 con el servidor web incorporado ? He usado el HTRouter PHAR para imitar las reglas de .htaccess, pero hasta ahora estoy vacío, todos los caminos conducen a

Fatal error: Call to a member function getFrontNameByRoute() on a non-object


Magento 1.7.x funciona bien en PHP 5.4.14 en Apache como php_mod o PHP_FPM, probé ambos en VM con Ubuntu. En cuanto al Servidor incorporado, ese no lo he probado todavía.
— Petar Dzhambazov

Respuestas:


11

Así que eché un vistazo rápido a esto y lo hice funcionar con bastante facilidad.

Instrucciones para Debian

cat >> /etc/apt/sources.lst <<EOF
deb http://packages.dotdeb.org squeeze-php54 all
deb-src http://packages.dotdeb.org squeeze-php54 all
EOF

wget -qO - http://www.dotdeb.org/dotdeb.gpg | apt-key add -
apt-get update
apt-get install php5-cli php5-mysqlnd php5-mcrypt php5-common php-pear php5-dev php5-mysql php5-curl php5-mcrypt php5-gd php5-cli php5-xsl php5-imagick

Luego hice un enrutador simple (en lugar de usar HTRouter), que imitaba las reglas en un Magento estándar .htaccess

<?php

  if (preg_match('#^/api/rest#', $_SERVER["REQUEST_URI"])) {
      $_SERVER["REQUEST_URI"] = 'api.php?type=rest';
  } elseif (preg_match('#^/(media|skin|js)#', $_SERVER["REQUEST_URI"])) {
      return false;
  } elseif (file_exists(".".$_SERVER["REQUEST_URI"]))  {
      return false;
  } else {
      include_once 'index.php';
  }

?>

Luego inició el servidor PHP y lo apuntó a router.php(el archivo de arriba).

php -S 172.16.0.249:80 router.php

Funciona bien :)

Contenido obtenido de sonassi.com


3

Según los requisitos del sistema , Magento requiere "PHP 5.2.13 - 5.3.15".

Magento 2 (lo último que escuché) aún no es totalmente compatible con PHP 5.4 todavía ... aunque hay mucho debate sobre si requerirlo o no, y el soporte final es obvio.

Creo que algunos de estos problemas de compatibilidad se deben a problemas en la implementación SimpleXML de PHP 5.4: https://bugs.php.net/bug.php?id=62639

Mi conclusión: quédese con la última versión de PHP 5.3.x y no se arriesgue a usar un soporte no oficial


Gracias por la rápida respuesta: entiendo qué es y qué no es compatible; Estoy tratando de ver si alguien más está experimentando con eso en este momento. Demasiado tiempo con laravel hace que quiera esta característica supongo ...
— philwinkle

ok, así que más de lo que se ha estropeado para ver si podemos hacer que funcione ... gotcha.
— davidalger

1
Es más para experimentación que para cualquier otra cosa: tengo alrededor de 15 máquinas virtuales CentOS y un montón de máquinas virtuales con Magento en todos los diferentes niveles de CE / EE. Tengo curiosidad por saber cómo funcionaría esto para arrancar nuevas características / desarrollo. Si alguna vez has visto en acción, laravel tiene una demo bastante impresionante donde git cloney php -S 0.0.0.0:80y BOOM - Demo aplicación. Por supuesto, Magento es una plataforma sobre Zend y estoy seguro de que podría replicar ese tipo de demostración con ZF.
— philwinkle
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.