Czy mogę używać PHP 5.5?


18

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:


21

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ę.


1
Moja osobista strona działa na PHP 5.5 od pewnego czasu bez problemów (choć, oczywiście, jest to dość prosta strona). Najbardziej znanym problemem związanym z rdzeniem, o którym wiem, jest to, że instalacja może się nie powieść, jeśli OPcache (wbudowana pamięć podręczna opc a la APC) jest włączona , więc jeśli chcesz używać OPcache, może być konieczne wyłączenie go podczas instalacji , a następnie włącz go ponownie później.
Garrett Albright,

@GarrettAlbright Badam aktualizację naszej strony D6 do PHP 5.5. Obecnie żadne z pól daty w formularzach administratora nie wyświetla domyślnych wartości dat. Czy widziałeś coś takiego?
Patrick

Patrick, nie mogę ci nic pomóc w związku z Drupalem 6, z wyjątkiem doradzania ci aktualizacji, jeśli to w ogóle możliwe. Baza kodów staje się coraz bardziej stara.
Garrett Albright

@Letharion: Czas zaktualizować odpowiedź po przetestowaniu D8 z PHP5.5?
Hugo,

1
@Hugo Hmmm, zdecydowanie. Zapomniałem o tym konkretnym pytaniu i chociaż miałem witrynę D8, nie pamiętałem o tym. Krótko mówiąc, wypróbowałem kilka wersji beta na mojej maszynie z wersją 5.5 i wszystko działało dobrze. Dzięki za przypomnienie, spróbuję zapamiętać to następnym razem, gdy będę majstrować przy D8.
Letharion

3

Aktualizacje odpowiedzi Lethariona:

  • Drupal 8 wymaga teraz PHP 5.4.2 (prawdopodobnie jeszcze wyższy, zanim go wypuścimy), a 5.5 jest obsługiwany, chociaż nie jest wymagany
  • Obsługa Drupala 6 dla 5.3 jest już dobra, chociaż problemy nadal pozostają, traktowane jako błędy, ponieważ migracja D8 z D6 będzie zależała od PHP 5.3 obsługiwanego przez D6.

1

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.


1

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

Dodanie php_value error_reporting E_ALLpomogło mi przejść przez WSOD, reszta pomogła tylko w debugowaniu.
wolffer-east

0

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.


Nie sądzę, że musi to dotyczyć wersji PHP. field_attach_load()wydaje się być funkcją Drupala, a podobne błędy zostały opublikowane w 2009 r. , dotyczące Drupala 7.
MrWhite

0

Ś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 ...


0

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.