ด้วยการหยุดการทำงานของฟีเจอร์สำหรับ PHP 5.5 ที่ผ่านมาฉันคิดว่ามันเป็นเวลาที่ฉันโพสต์การอัปเดตของคำถามยอดนิยมPHP 5.4 และ Drupal 7
ดังนั้น Drupal สามารถทำงานบน PHP 5.5 ได้หรือไม่?
ด้วยการหยุดการทำงานของฟีเจอร์สำหรับ PHP 5.5 ที่ผ่านมาฉันคิดว่ามันเป็นเวลาที่ฉันโพสต์การอัปเดตของคำถามยอดนิยมPHP 5.4 และ Drupal 7
ดังนั้น Drupal สามารถทำงานบน PHP 5.5 ได้หรือไม่?
คำตอบ:
กล่าวโดยย่อหากเว็บไซต์ของคุณทำงานบน PHP 5.3 เว็บไซต์จะทำงานบน 5.5 เช่นกันให้อัปเกรด! (สภาพแวดล้อมการพัฒนาของคุณจนกว่าจะมีการเปิดตัวจริง)
ด้วยคำตอบสั้น ๆ นี่คือรายละเอียดเพิ่มเติม
ในส่วนที่เกี่ยวกับ "Drupal ใช้งานได้หรือไม่" เปลี่ยนเล็กน้อยจาก PHP 5.3 เป็น 5.4 เป็น 5.5 ปัญหาหนึ่งที่ปรากฏภายใต้ PHP 5.4 นั้นจริงๆแล้วเป็นเพียงแค่ PHP ที่ดีกว่าในการบอกนักพัฒนาเมื่อพวกเขาทำอะไรผิดพลาดแทนที่จะเข้ากันไม่ได้กับ PHP ที่แนะนำ รายละเอียดของการที่จะได้รับการคุ้มครองอย่างดีในPHP 5.4 และ Drupal 7
แม้ว่าจะไม่มีคำเตือนใหม่ที่คล้ายกับ PHP 5.5 แต่ในขณะที่บางสิ่งเปลี่ยนไปพวกเขาก็ไม่น่าจะมีผลกระทบเชิงลบต่อเว็บไซต์ Drupal ของคุณ
ข้อกังวลด้านประสิทธิภาพประการหนึ่งที่เกิดขึ้นกับการทำงาน 5.4 คือ APC ล่าช้าในการสนับสนุน นี่จะไม่เป็นปัญหาในขณะนี้เนื่องจากขณะนี้ 5.5 ได้รวมการแทนที่ APC Optimizer + แล้ว
Drupal 6: ตอนนี้ส่วนใหญ่ทำงานได้ดีกับ PHP 5.3 ซึ่งหมายความว่าควรทำงานได้ดีบน 5.5 เช่นกัน ฉันยังไม่ได้ทดสอบตัวเอง
Drupal 7: ทำงานได้อย่างราบรื่นฉันไม่พบปัญหาอะไรเลยส่วนใหญ่เป็นเพราะ Drupal 7 พัฒนาขึ้นโดยใช้ PHP 5.3 ในใจและปัญหาใด ๆ ที่ค้นพบใน 5.4 ได้ถูกแก้ไขไปนานแล้ว
Drupal 8: ต้องใช้ 5.3 ตั้งแต่เริ่มต้นจึงจะทำงานได้ดี ฉันจะอัปเดตคำตอบเมื่อฉันทดสอบด้วยตนเอง
อัพเดทคำตอบของ letharion:
ในขณะที่ติดตั้ง Drupal 7.26 เวอร์ชันใหม่ในสภาพแวดล้อม PHP 5.5 ฉันได้รับการโหลดหน้าจอ "Set-up database" สองครั้ง ในการส่ง 2 รูปแบบจากนั้นผมก็จะได้รับWSOD โหลดเว็บไซต์จากเส้นทางรากให้ 404
ฉันติดตามpatch นี้ (ความคิดเห็น # 45)ซึ่งแก้ปัญหาให้ฉันแล้ว ในขณะที่คุณจะอ่านมันเป็นเพราะวิธีการทำงานของระบบแคช PHP ใหม่และการแคชของ settings.php ซึ่งเก็บข้อมูลรับรองฐานข้อมูล
การเพิ่มบรรทัดต่อไปนี้ในไฟล์ htaccess หลักสามารถช่วยได้
php_value date.timezone America/New_York
php_value error_reporting E_ALL
php_value display_errors 1
php_value display_startup_errors 1
php_value memory_limit 256M
php_value error_reporting E_ALL
ให้ฉันผ่าน WSOD ส่วนที่เหลือก็ช่วยแก้ปัญหา
ฉันได้ติดอุปสรรค์เพื่อพยายามติดตั้ง Drupal 7.26 บน Ubuntu 13.10 (php 5.5)
Fatal error: Call to undefined function field_attach_load() in /var/www/d7/includes/entity.inc on line 316
ผมต้องใช้โปรแกรมปรับปรุงนี้ - https://drupal.org/comment/7721819#comment-7721819
ลบฐานข้อมูลที่มีอยู่สำหรับการติดตั้งนี้
install.php
Re-สร้างฐานข้อมูลและจากนั้นก็วิ่ง
ปัญหาสำหรับฉันได้รับการแก้ไขด้วยแพทช์นั้น
field_attach_load()
ดูเหมือนจะเป็นฟังก์ชั่น Drupal และมีการโพสต์ข้อผิดพลาดที่คล้ายกันในปี 2009ซึ่งเกี่ยวข้องกับ Drupal 7
ติดตั้ง drupal-7.26 ใหม่
Ran PHP 5.5.9 - ข้อผิดพลาดที่ได้รับ: "... เอนทิตี. ในบรรทัด 316"
ในแผงควบคุมเซิร์ฟเวอร์ฉันเปลี่ยนโฟลเดอร์ Drupal เพื่อใช้ "PHP 5.4.25" จากนั้นกลับมาที่เบราว์เซอร์ป้อนข้อมูลการติดตั้งอีกครั้งและ voila -> ขึ้นและทำงาน ...
ธีมที่ติดตั้งแล้ว, บางโมดูล, หน้าสร้างขึ้น; เปลี่ยนกลับเป็น PHP 5.5.9 -> ยังทำงานอยู่ ...
Drupal 7: ตรวจสอบปัญหาทั้งหมดที่มีแท็ก php 5.4 หรือ php 5.5 เพื่อให้แน่ใจว่าคุณไม่ได้ใช้โมดูลใด ๆ ที่ยังคงมีปัญหากับเวอร์ชันเหล่านั้น: https://drupal.org/project/issues/search?text=&projects= และได้รับมอบหมาย
หากเว็บไซต์ของคุณติดตั้งโมดูลเหล่านั้นไว้ฉันคิดว่ามันจะดีกว่าถ้าคุณติดตั้ง php 5.3 สำหรับ Drupal 7
Drupal 6 เพิ่มแท็ก php 5.3 เช่นกันเนื่องจากโมดูลที่ใช้น้อยกว่าหรือโมดูลที่บำรุงรักษายังคงมีปัญหากับ php 5.3