是否有人设法让Magento在PHP 5.4下运行 内置的Web服务器?我已经使用了 htrouter Phar 要模仿.htaccess规则 - 但是到目前为止,我要空着

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),它模仿了库存杂志中的规则 .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构建,不要使用非官方支持的风险

许可以下: CC-BY-SA归因
scroll top