มีใครจัดการให้ Magento ทำงานภายใต้ PHP 5.4 ด้วยเว็บเซิร์ฟเวอร์ในตัวหรือไม่ ฉันใช้HTRouter PHARเพื่อเลียนแบบกฎ. htaccess - แต่จนถึงตอนนี้ฉันว่างเปล่าถนนทุกสายในขณะนี้นำไปสู่
Fatal error: Call to a member function getFrontNameByRoute() on a non-object
มีใครจัดการให้ Magento ทำงานภายใต้ PHP 5.4 ด้วยเว็บเซิร์ฟเวอร์ในตัวหรือไม่ ฉันใช้HTRouter PHARเพื่อเลียนแบบกฎ. htaccess - แต่จนถึงตอนนี้ฉันว่างเปล่าถนนทุกสายในขณะนี้นำไปสู่
Fatal error: Call to a member function getFrontNameByRoute() on a non-object
คำตอบ:
ดังนั้นฉันจึงดูอย่างรวดเร็วเกี่ยวกับเรื่องนี้และทำให้มันทำงานได้อย่างง่ายดาย
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
ตามข้อกำหนดของระบบวีโอไอพีต้องการ "PHP 5.2.13 - 5.3.15"
Magento 2 (ล่าสุดที่ฉันได้ยิน) ยังไม่รองรับ PHP 5.4 อย่างเต็มที่ แต่ ... แม้ว่าจะมีการถกเถียงกันมากมายว่าจะต้องใช้หรือไม่และการสนับสนุนขั้นสุดท้ายสำหรับมันก็ชัดเจน
ผมเชื่อว่าปัญหาความเข้ากันได้บางส่วนนั้นเกิดจากการใช้ SimpleXML ใน PHP 5.4: https://bugs.php.net/bug.php?id=62639
ข้อสรุปของฉัน: ยึดกับการสร้าง PHP 5.3.x ล่าสุดและไม่เสี่ยงต่อการใช้ที่ไม่เป็นทางการ
git cloneและphp -S 0.0.0.0:80และบูม - แอพตัวอย่าง แน่นอนว่าวีโอไอพีเป็นแพลตฟอร์มที่อยู่บนสุดของ Zend และฉันแน่ใจว่าฉันสามารถจำลองการสาธิตด้วย ZF ได้