PHP 5.4 WebサーバーでのMagento-致命的:非オブジェクトのgetFrontNameByRoute()


14

誰もが、ビルトインWebサーバーを使用して、MagentoをPHP 5.4で実行できましたか?.htaccessルールを模倣するためにHTRouter PHARを使用しましたが、今のところ空いていますが、現時点ではすべての道路が

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


Magento 1.7.xは、Apache上のPHP 5.4.14でphp_modまたはPHP_FPMとして正常に動作し、Ubuntuを実行しているVMで両方を試しました。ビルトインサーバーに関しては、私はまだ試していません。
ペタルジャンバゾフ

回答:


11

そのため、私はこれを簡単に見て、簡単に実行できるようにしました。

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

次に、(HTRouterを使用する代わりに)単純なルーターを作成しました。これは、Magentoのルールを模倣したものです。 .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';
  }

?>

次に、PHPサーバーを起動し、router.php(上記のファイル)をポイントしました。

php -S 172.16.0.249:80 router.php

うまく動作します:)

sonassi.comをソースとするコンテンツ


3

あたり システム要件、Magentoのは、 " - 5.3.15 PHP 5.2.13"が必要です。

Magento 2(私が聞いた最後)はまだPHP 5.4を完全にはサポートしていません…それを必要とするかどうかについて多くの議論がありますが、最終的なサポートは明らかです。

これらの互換性の問題の一部は、PHP 5.4のSimpleXML実装の問題に起因すると考えられますhttps ://bugs.php.net/bug.php ?id= 62639

私の結論:最新のPHP 5.3.xビルドに固執し、非公式にサポートされているものを使用するリスクはありません


迅速な返信をありがとう-サポートされているものとサポートされていないものを理解しています。現時点で他の誰かがそれを実験しているかどうかを確認しようとしています。Laravelとの時間が長すぎると、この機能が必要になります
...-philwinkle

わかりました、それで私達がそれを働かせることができるかどうか見るために台無しにされたものの多く…落とし穴。
-davidalger

1
それは他の何よりも実験のためのものです-私は約15のCentOS VMとCE / EEのすべての異なるレベルでMagentoで設定されたボイラープレートVMの束を持っています-私はこれがどのように新しい機能/開発をブートストラップするのか興味があります。あなたは今までのアクションでそれを見てきた場合は、Laravelは、彼らはかなり印象的なデモがあるgit clonephp -S 0.0.0.0:80デモアプリ-とBOOMを。もちろん、MagentoはZendの上にあるプラットフォームであり、ZFでこの種のデモを再現できると確信しています。
-philwinkle
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.