Tôi có thể sử dụng PHP 5.5 không?


18

Với tính năng đóng băng cho PHP 5.5 từ lâu, tôi đã hình dung rằng đã đến lúc tôi đăng một bản cập nhật cho câu hỏi PHP 5.4 và Drupal 7 phổ biến .

Vậy, Drupal có thể chạy trên PHP 5.5 không?

Câu trả lời:


21

Nói tóm lại, nếu trang web của bạn chạy trên PHP 5.3, nó cũng sẽ chạy trên 5.5, hãy nâng cấp! (Môi trường dev của bạn, cho đến khi phát hành thực sự)

Với câu trả lời ngắn gọn, đây là một số chi tiết.

Liên quan đến "Liệu Drupal có hoạt động được không", rất ít thay đổi từ PHP 5.3, sang 5.4 thành 5.5. Một vấn đề xuất hiện trong PHP 5.4 thực sự chỉ là PHP nói tốt hơn với các nhà phát triển khi họ làm sai, thay vì không tương thích được giới thiệu bởi PHP. Các chi tiết được trình bày rõ trong PHP 5.4 và Drupal 7 .

Mặc dù không có cảnh báo mới tương tự nào xuất hiện với PHP 5.5 và trong khi một số thứ đã thay đổi , chúng rất khó có thể có tác động tiêu cực đến trang web Drupal của bạn.

Một mối quan tâm về hiệu suất được nêu ra khi chạy 5.4 là APC bị tụt lại phía sau trong hỗ trợ. Điều này sẽ không phải là vấn đề lần này, vì 5.5 hiện bao gồm một sự thay thế cho Trình tối ưu hóa APC +

Drupal 6: Cho đến nay, hầu hết mọi thứ đều hoạt động tốt với PHP 5.3, có nghĩa là nó cũng hoạt động tốt trên 5.5. Tôi vẫn chưa tự mình kiểm tra điều này.

Drupal 7: Chạy trơn tru, tôi chưa gặp vấn đề gì, phần lớn là do Drupal 7 được phát triển nhiều hơn với PHP 5.3 và mọi vấn đề được phát hiện vào ngày 5.4 đã được khắc phục từ lâu.

Drupal 8: Yêu cầu 5.3 ngay từ đầu, vì vậy sẽ hoạt động tốt. Tôi sẽ cập nhật câu trả lời khi tôi tự kiểm tra nó.


1
Trang web cá nhân của tôi đã chạy trên PHP 5.5 một thời gian mà không gặp vấn đề gì (mặc dù, được cho phép, đó là một trang web khá đơn giản). Vấn đề đáng chú ý nhất liên quan đến cốt lõi mà tôi biết là cài đặt có thể thất bại nếu OPcache (bộ đệm opcode tích hợp a la APC) được bật , vì vậy nếu bạn muốn sử dụng OPcache, bạn có thể cần phải tắt nó trong khi cài đặt , sau đó kích hoạt lại nó sau đó.
Garrett Albright

@GarrettAlbright Tôi đang nghiên cứu cập nhật trang D6 của chúng tôi lên PHP 5.5. Hiện tại không có trường ngày nào trong biểu mẫu quản trị viên đang hiển thị giá trị ngày mặc định. Bạn đã thấy bất kỳ vấn đề như thế này?
Patrick

Patrick, tôi không thể giúp bạn bất cứ điều gì liên quan đến Drupal 6, ngoại trừ khuyên bạn nên nâng cấp nếu có thể. Cơ sở mã hóa đó ngày càng cổ xưa.
Garrett Albright

@Letharion: Thời gian để cập nhật câu trả lời sau khi thử nghiệm D8 với PHP5.5?
Hugo

1
@Hugo Hmmm, chắc chắn. Tôi đã quên câu hỏi đặc biệt này và trong khi tôi có một trang web D8, tôi vẫn không lưu ý điều này. Lưu ý nhanh, tôi đã thử một vài betas trên máy của mình với 5.5 và tất cả đều hoạt động tốt. Tuy nhiên, cảm ơn vì đã nhắc nhở, tôi sẽ cố nhớ nó vào lần tới khi tôi mân mê D8.
Letharion 11/03/2015

3

Cập nhật câu trả lời của letharion:

  • Drupal 8 hiện yêu cầu PHP 5.4.2 (thậm chí có thể cao hơn vào thời điểm chúng tôi phát hành) và 5.5 được hỗ trợ, mặc dù không bắt buộc
  • Hỗ trợ Drupal 6 cho 5.3 đã tốt mặc dù các vấn đề vẫn còn, được xử lý như lỗi vì di chuyển D8 từ D6 sẽ dựa vào PHP 5.3 được D6 hỗ trợ.

1

Trong khi cài đặt phiên bản mới của Drupal 7.26 trong môi trường PHP 5.5, tôi đã nhận được tải màn hình "Thiết lập cơ sở dữ liệu" hai lần. Trong lần gửi thứ 2 của biểu mẫu, sau đó tôi sẽ nhận được WSOD . Tải trang web từ đường dẫn gốc đã cho 404.

Tôi đã theo dõi bản vá này (nhận xét # 45) đã giải quyết vấn đề cho tôi. Như bạn sẽ đọc ở đó, đó là do cách hệ thống bộ đệm PHP mới hoạt động và bộ nhớ đệm của settings.php lưu trữ thông tin đăng nhập cơ sở dữ liệu.


1

Thêm các dòng sau vào tệp htaccess chính có thể giúp đỡ.

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

Thêm php_value error_reporting E_ALLtôi đã vượt qua WSOD, phần còn lại chỉ giúp gỡ lỗi.
wolffer-đông

0

Tôi đã gặp phải sự cố khi cài đặt Drupal 7.26 trên 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

Tôi đã phải áp dụng bản vá này - https://drupal.org/comment/7721819#comment-7721819 .

Đã xóa cơ sở dữ liệu hiện có cho cài đặt này.

Tạo lại cơ sở dữ liệu và sau đó chạy install.php.

Vấn đề đối với tôi đã được khắc phục với bản vá đó.


Tôi không nghĩ rằng điều này nhất thiết liên quan đến phiên bản PHP. field_attach_load()dường như là một chức năng của Drupal và các lỗi tương tự đã được đăng lại vào năm 2009 , liên quan đến Drupal 7.
MrWhite

0

Cài đặt mới của drupal-7.26

Ran PHP 5.5.9 -got lỗi: "... entity.inc trên dòng 316"

Trong bảng điều khiển máy chủ, tôi đã thay đổi thư mục Drupal của mình để sử dụng "PHP 5.4.25". Sau đó quay lại trong trình duyệt, nhập lại dữ liệu cài đặt và voila -> lên và chạy ...

Các chủ đề được cài đặt, một số mô-đun, các trang được tạo; đã đổi lại thành PHP 5.5.9 -> vẫn hoạt động ...


0

Drupal 7: Kiểm tra tất cả các sự cố với thẻ php 5.4 hoặc php 5.5 để chắc chắn rằng bạn không sử dụng bất kỳ mô-đun nào vẫn có vấn đề với các phiên bản đó: https://drupal.org/project/issues/search?text=&projects= & gán = & submit = & project_su_followers = &&&& vấn đề_tags_op =% 3D & Iss_tags = PHP% 205.4% 2C% 20PHP% 205.5 .

Nếu trang web của bạn có bất kỳ mô-đun nào được cài đặt, tôi nghĩ tốt hơn là nên sử dụng php 5.3 cho Drupal 7.

Drupal 6 Thêm thẻ php 5.3 vì một số mô-đun ít được sử dụng hoặc bảo trì vẫn có vấn đề với php 5.3.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.