PHP 5.4 웹 서버에서 마 젠토-치명적 : 객체가 아닌 경우 getFrontNameByRoute ()


14

누구나 내장 웹 서버로 PHP 5.4에서 Magento를 실행할 수 있습니까? HTRouter PHAR 을 사용하여 .htaccess 규칙을 모방했습니다. 그러나 지금까지는 비어 있습니다. 현재 모든 도로는

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에서 두 가지를 모두 시도했습니다. 서버에 내장되어 있지만 아직 시도하지 않은 것입니다.
Petar Dzhambazov

답변:


11

그래서 이것에 대해 간단히 살펴 보았고 꽤 쉽게 작동했습니다.

데비안을위한 지침

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

그런 다음 주식 Magento의 규칙을 모방 한 간단한 라우터 (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 에서 제공 한 콘텐츠


3

시스템 요구 사항 , 마 젠토는 "- 5.3.15 PHP 5.2.13"이 필요합니다.

Magento 2 (마지막으로 들었던)는 아직 PHP 5.4를 완벽하게 지원하지는 않습니다. PHP 요구 여부에 대한 논쟁이 많이 있지만 최종 지원은 분명합니다.

이러한 호환성 문제 중 일부는 PHP 5.4의 SimpleXML 구현 문제에서 비롯된 것입니다. https://bugs.php.net/bug.php?id=62639

내 결론 : 최신 PHP 5.3.x 빌드를 고수하고 공식적으로 지원되지 않는 것을 사용할 위험은 없습니다.


빠른 답변에 감사드립니다. 지원되는 내용과 지원되지 않는 내용을 이해합니다. 다른 사람이 현재 실험하고 있는지 확인하려고합니다. Laravel과 함께 너무 많은 시간을 보내면이 기능이 필요
하다고

좋아, 그래서 우리가 그것을 작동시킬 수 있는지 확인하기 위해 엉망인 것들이 더 많아졌습니다.
davidalger

1
다른 모든 것보다 실험에 더 좋습니다. 약 15 CentOS VM과 모든 다른 수준의 CE / EE에서 Magento로 설정된 여러 상용구 VM이 있습니다. 새로운 기능 / 개발을 부트 스트랩하는 방법이 궁금합니다. 실제로 본 적이 있다면 Laravel은 그들 git clone과 BOOM- php -S 0.0.0.0:80데모 앱 이있는 매우 인상적인 데모를 가지고 있습니다. 물론 Magento는 Zend의 플랫폼이며 ZF를 사용하여 이러한 종류의 데모를 복제 할 수 있습니다.
philwinkle 21:01에
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.