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


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


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


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.