Magento в рамках PHP 5.4 WebServer - Fatal: GetFrontNameByroute () на unobject
-
16-10-2019 - |
Вопрос
Кто -нибудь удалось получить Magento работать под PHP 5.4 с Встроенный веб-сервер? Я использовал Htrouter Phar Чтобы имитировать правила.
Fatal error: Call to a member function getFrontNameByRoute() on a non-object
Решение
Так что я быстро рассмотрел это и довольно легко запустил его.
Инструкции для 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
Другие советы
В соответствии с Системные Требования, Magento требует «Php 5.2.13 - 5.3.15».
Magento 2 (последний я слышал) еще даже еще не полностью поддерживает PHP 5.4 ... хотя существует много дебатов о том, требует ли этого или нет, и окончательная поддержка для этого очевидно.
Некоторые из этих проблем совместимости связаны с, я считаю, что проблемы с простой реализацией PHP 5.4: https://bugs.php.net/bug.php?id=62639
Мой вывод: придерживайтесь последней сборки PHP 5.3.x и не рискуйте использовать не официально поддерживаемые