Po zawieszeniu funkcji dla PHP 5.5 już dawno pomyślałem, że nadszedł czas, aby opublikować aktualizację popularnego pytania o PHP 5.4 i Drupal 7 .
Czy Drupal może działać na PHP 5.5?
Po zawieszeniu funkcji dla PHP 5.5 już dawno pomyślałem, że nadszedł czas, aby opublikować aktualizację popularnego pytania o PHP 5.4 i Drupal 7 .
Czy Drupal może działać na PHP 5.5?
Odpowiedzi:
Krótko mówiąc, jeśli twoja strona działa na PHP 5.3, będzie działała również na wersji 5.5, przejdź na aktualizację! (Twoje środowisko deweloperskie, dopóki nie zostanie wydane prawdziwe wydanie)
Z krótką odpowiedzią na bok, oto kilka szczegółów.
Jeśli chodzi o „Czy Drupal na to działa”, niewiele zmieniło się z PHP 5.3 do 5.4 na 5.5. Jedynym problemem, który pojawił się w PHP 5.4, było po prostu to, że PHP lepiej informowało programistów, gdy robią coś źle, niż niezgodność wprowadzona przez PHP. Szczegóły tego są dobrze omówione w PHP 5.4 i Drupal 7 .
Jednak w PHP 5.5 nie pojawiają się podobne nowe ostrzeżenia i chociaż niektóre rzeczy się zmieniły , jest mało prawdopodobne, aby miały negatywny wpływ na twoją stronę Drupal.
Jednym z problemów związanych z wydajnością, które pojawiło się w związku z uruchomieniem 5.4, było to, że APC pozostawało w tyle pod względem wsparcia. Tym razem nie będzie to problemem, ponieważ 5.5 zawiera teraz zamiennik APC Optimizer +
Drupal 6: Do tej pory większość rzeczy działa dobrze w PHP 5.3, co oznacza, że powinno również działać dobrze w wersji 5.5. Sam jeszcze tego nie przetestowałem.
Drupal 7: Działa płynnie, nie spotkałem się z żadnymi problemami, głównie dlatego, że Drupal 7 został opracowany bardziej z myślą o PHP 5.3, a wszelkie problemy wykryte w 5.4 zostały już dawno naprawione.
Drupal 8: od początku wymaga 5.3, więc będzie działać dobrze. Zaktualizuję odpowiedź, kiedy sam ją przetestuję.
Aktualizacje odpowiedzi Lethariona:
Podczas instalowania nowej wersji Drupala 7.26 w środowisku PHP 5.5 otrzymywałem dwukrotnie ekran „Konfiguruj bazę danych”. Po drugim przesłaniu formularza otrzymam WSOD . Ładowanie strony ze ścieżki głównej dało 404.
Wyśledziłem tę łatkę (komentarz nr 45), która rozwiązała dla mnie problem. Jak tam przeczytasz, wynikało to ze sposobu, w jaki działa nowy system buforowania PHP oraz buforowania pliku settings.php, który przechowuje poświadczenia bazy danych.
Dodanie następujących wierszy do głównego pliku htaccess może pomóc.
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
pomogło mi przejść przez WSOD, reszta pomogła tylko w debugowaniu.
Uderzyłem, próbując zainstalować Drupal 7.26 na 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
Musiałem zastosować tę łatkę - https://drupal.org/comment/7721819#comment-7721819 .
Usunięto istniejącą bazę danych dla tej instalacji.
Ponownie utworzono bazę danych, a następnie uruchomiono install.php
.
Problem został dla mnie naprawiony dzięki tej łatce.
field_attach_load()
wydaje się być funkcją Drupala, a podobne błędy zostały opublikowane w 2009 r. , dotyczące Drupala 7.
Świeża instalacja drupal-7.26
Ran PHP 5.5.9 - zapomniałem błędu: „... entity.inc on line 316”
W panelu sterowania serwerem zmieniłem folder Drupal na „PHP 5.4.25”. Następnie wróć do przeglądarki, ponownie wprowadź dane instalacyjne i voila -> uruchom i uruchom ...
Zainstalowane motywy, niektóre moduły, utworzone strony; zmieniono z powrotem na PHP 5.5.9 -> nadal działa ...
Drupal 7: Sprawdź wszystkie problemy z tagiem php 5.4 lub php 5.5, aby upewnić się, że nie używasz żadnego z modułów, które nadal mają problemy z tymi wersjami: https://drupal.org/project/issues/search?text=&projects= & przypisane = i przesłane = & project_issue_followers = &&&& issue_tags_op =% 3D i issue_tags = PHP% 205,4% 2C% 20PHP% 205,5 .
Jeśli twoja strona ma zainstalowany którykolwiek z tych modułów, myślę, że lepiej jest trzymać się php 5.3 dla Drupala 7.
Drupal 6 Dodaj tag php 5.3, ponieważ niektóre mniej używane lub utrzymywane moduły nadal mają problemy z php 5.3.