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.