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

philwinkle
fuente
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

Ben Lessani - Sonassi
fuente
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

davidalger
fuente
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