Magento no servidor da Web PHP 5.4 - fatal: getFrontNameByRoute () em não-objeto

14

Alguém já conseguiu rodar o Magento no PHP 5.4 com o servidor web embutido ? Usei o HTRouter PHAR para imitar as regras de .htaccess - mas até agora estou chegando vazio, todas as estradas no momento levam a

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

philwinkle
fonte
O Magento 1.7.x roda bem no PHP 5.4.14 no Apache como php_mod ou PHP_FPM, tentou os dois na VM executando o Ubuntu. Quanto ao servidor interno, aquele que ainda não tentei.
Petar Dzhambazov

Respostas:

11

Então, eu dei uma olhada rápida e consegui rodar com bastante facilidade.

Instruções para o 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

Então eu criei um roteador simples (em vez de usar o HTRouter), que imitava as regras em um Magento padrão .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';
  }

?>

Em seguida, iniciei o servidor PHP e o apontei para router.php(o arquivo acima).

php -S 172.16.0.249:80 router.php

Funciona muito bem :)

Conteúdo proveniente de sonassi.com

Ben Lessani - Sonassi
fonte
3

De acordo com os requisitos do sistema , o Magento requer "PHP 5.2.13 - 5.3.15".

O Magento 2 (a última vez que ouvi) ainda não suporta totalmente o PHP 5.4… embora haja muito debate sobre se é necessário ou não exigi-lo, e o suporte final para isso é óbvio.

Alguns desses problemas de compatibilidade decorrem, acredito, de problemas na implementação SimpleXML do PHP 5.4: https://bugs.php.net/bug.php?id=62639

Minha conclusão: fique com a versão mais recente do PHP 5.3.x e não arrisque usar o suporte não oficial

davidalger
fonte
Obrigado pela resposta rápida - eu entendo o que é e o que não é suportado; Estou tentando ver se mais alguém está experimentando isso no momento. Muito tempo com Laravel me faz querer esse recurso suponho ...
philwinkle
ok, então mais do que foi mexido para ver se conseguimos fazê-lo funcionar ... entendi.
Davidalger
1
É mais para experimentação do que qualquer outra coisa - eu tenho cerca de 15 VMs CentOS e várias VMs padronizadas configuradas com Magento em todos os níveis diferentes de CE / EE - só estou curioso para saber como isso funcionaria para inicializar novos recursos / desenvolvimento. Se você já viu em ação, Laravel tem uma demo muito impressionante onde eles git clonee php -S 0.0.0.0:80e BOOM - Demo App. Claro, o Magento é uma plataforma sobre o Zend e tenho certeza de que poderia replicar esse tipo de demonstração com o ZF.
Philwinkle