Magento in PHP 5.4 Webserver - fatal: getFrontNameByRoute () su non oggetto


14

Qualcuno è riuscito a far funzionare Magento sotto PHP 5.4 con il web server integrato ? Ho usato HTRouter PHAR per imitare le regole .htaccess - ma finora sto arrivando vuoto, tutte le strade al momento portano a

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


Magento 1.7.x funziona bene su PHP 5.4.14 su Apache come php_mod o PHP_FPM, li ha provati entrambi in VM con Ubuntu. Per quanto riguarda il server integrato, quello che non ho ancora provato.
Petar Dzhambazov,

Risposte:


11

Quindi ho dato una rapida occhiata a questo e l'ho fatto funzionare abbastanza facilmente.

Istruzioni per 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

Quindi ho creato un semplice router (invece di utilizzare HTRouter), che imitava le regole in un Magento di serie .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';
  }

?>

Quindi ha avviato il server PHP e lo ha puntato su router.php(il file dall'alto).

php -S 172.16.0.249:80 router.php

Funziona bene :)

Contenuto proveniente da sonassi.com


3

Secondo i requisiti di sistema , Magento richiede "PHP 5.2.13 - 5.3.15".

Magento 2 (l'ultima volta che ho sentito) non supporta ancora ancora completamente PHP 5.4 ... anche se c'è molto dibattito sulla necessità o meno di richiederlo, e il supporto finale per questo è ovvio.

Credo che alcuni di questi problemi di compatibilità derivino da problemi nell'implementazione SimpleXML di PHP 5.4: https://bugs.php.net/bug.php?id=62639

La mia conclusione: attenersi all'ultima build di PHP 5.3.x e non rischiare di utilizzare supporti non ufficialmente supportati


Grazie per la rapida risposta: capisco cos'è e non è supportato; Sto cercando di vedere se qualcun altro lo sta sperimentando al momento. Troppo tempo con Laravel mi fa venire voglia di questa funzione, suppongo ...
Philwinkle

ok, quindi più di quello che è stato rovinato per vedere se riusciamo a farlo funzionare ... gotcha.
davidalger,

1
È più per la sperimentazione che per qualsiasi altra cosa - ho circa 15 VM CentOS e un sacco di VM con boilerplate configurate con Magento a tutti i diversi livelli di CE / EE - Sono solo curioso di sapere come funzionerebbe per avviare nuove funzionalità / sviluppo. Se hai mai visto in azione, laravel ha una piuttosto impressionante demo dove git clonee php -S 0.0.0.0:80e BOOM - demo app. Naturalmente, Magento è una piattaforma in cima a Zend e sono sicuro di poter replicare quel tipo di demo con ZF.
Filwinkle
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.