Puis-je utiliser PHP 5.5?


18

Avec le gel des fonctionnalités de PHP 5.5 depuis longtemps, je me suis dit qu'il était temps de publier une mise à jour de la populaire question PHP 5.4 et Drupal 7 .

Alors, Drupal peut-il fonctionner sur PHP 5.5?

Réponses:


21

En bref, si votre site fonctionne sur PHP 5.3, il fonctionnera également sur 5.5, allez mettre à niveau! (Votre environnement de développement, jusqu'à ce qu'une vraie version soit disponible)

Avec la réponse courte à l'écart, voici quelques détails supplémentaires.

En ce qui concerne "Drupal fonctionne-t-il", très peu de changements sont passés de PHP 5.3 à 5.4 en 5.5. Le seul problème qui est apparu sous PHP 5.4 était vraiment que PHP était mieux à même de dire aux développeurs quand ils faisaient quelque chose de mal, plutôt qu'une incompatibilité introduite par PHP. Les détails de cela sont bien couverts dans PHP 5.4 et Drupal 7 .

Cependant, aucun nouvel avertissement similaire n'apparaît avec PHP 5.5, et bien que certaines choses aient changé , il est très peu probable qu'elles aient un impact négatif sur votre site Drupal.

Un problème de performance qui a été soulevé avec l'exécution de la version 5.4 était que APC était à la traîne en matière de support. Ce ne sera pas un problème cette fois, car 5.5 inclut désormais un remplacement pour APC Optimizer +

Drupal 6: À l'heure actuelle, la plupart des choses fonctionnent bien avec PHP 5.3, ce qui signifie qu'il devrait également bien fonctionner sur 5.5. Je n'ai pas encore testé cela moi-même.

Drupal 7: fonctionne sans problème, je n'ai rencontré aucun problème, en grande partie parce que Drupal 7 a été développé davantage avec PHP 5.3 à l'esprit, et tous les problèmes découverts sur 5.4 ont depuis longtemps été corrigés.

Drupal 8: nécessite 5.3 dès le départ, donc cela fonctionnera bien. Je mettrai à jour la réponse lorsque je l'aurai testée moi-même.


1
Mon site personnel fonctionne depuis PHP 5.5 depuis un certain temps sans problème (bien que, d'accord, c'est un site assez simple). Le problème le plus notable lié au cœur que je connaisse est que l' installation peut échouer si OPcache (le cache d'opcode intégré à la APC) est activé , donc si vous souhaitez utiliser OPcache, vous devrez peut-être le désactiver lors de l'installation , puis réactivez-le ensuite.
Garrett Albright

@GarrettAlbright Je recherche la mise à jour de notre site D6 vers PHP 5.5. Actuellement, aucun des champs de date dans les formulaires d'administration n'affiche les valeurs de date par défaut. Avez-vous vu des problèmes comme celui-ci?
Patrick

Patrick, je ne peux pas vous aider avec quoi que ce soit concernant Drupal 6, sauf pour vous conseiller de mettre à niveau si possible. Cette base de code devient de plus en plus ancienne.
Garrett Albright

@Letharion: Il est temps de mettre à jour la réponse après avoir testé D8 avec PHP5.5?
Hugo

1
@Hugo Hmmm, certainement. J'ai oublié cette question particulière, et bien que j'aie un site D8, je n'ai pas gardé cela à l'esprit. En bref, j'ai essayé quelques bêtas sur ma machine avec 5.5, et tout a très bien fonctionné. Merci pour le rappel cependant, je vais essayer de m'en souvenir la prochaine fois que je jouerai avec D8.
Letharion

3

Mises à jour de la réponse de letharion:

  • Drupal 8 nécessite désormais PHP 5.4.2 (probablement encore plus haut au moment où nous le publions), et 5.5 est pris en charge, bien que non requis
  • La prise en charge de Drupal 6 pour 5.3 est déjà bonne bien que des problèmes demeurent, traités comme des bugs car la migration D8 à partir de D6 reposera sur PHP 5.3 étant pris en charge par D6.

1

Lors de l'installation d'une nouvelle version de Drupal 7.26 dans un environnement PHP 5.5, je recevais le chargement d'écran "Configuration de la base de données" deux fois. Sur la 2ème soumission du formulaire, j'obtiendrais alors un WSOD . Le chargement du site à partir du chemin racine a donné un 404.

J'ai retrouvé ce patch (commentaire # 45) qui a résolu le problème pour moi. Comme vous le lirez ici, cela était dû au fonctionnement du nouveau système de mise en cache PHP et à la mise en cache du settings.php qui stocke les informations d'identification de la base de données.


1

L'ajout des lignes suivantes au fichier htaccess principal peut vous aider.

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

L'ajout php_value error_reporting E_ALLm'a permis de dépasser le WSOD, le reste m'a aidé à déboguer.
wolffer-east

0

J'ai rencontré un problème en essayant d'installer Drupal 7.26 sur 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

J'ai dû appliquer ce patch - https://drupal.org/comment/7721819#comment-7721819 .

Base de données existante supprimée pour cette installation.

Recréé la base de données, puis exécuté install.php.

Le problème pour moi a été résolu avec ce patch.


Je ne pense pas que cela se rapporte nécessairement à la version PHP. field_attach_load()semble être une fonction Drupal et des erreurs similaires ont été publiées en 2009 , concernant Drupal 7.
MrWhite

0

Nouvelle installation de drupal-7.26

Ran PHP 5.5.9 -erreur: "... entity.inc sur la ligne 316"

Dans le panneau de contrôle du serveur, j'ai changé mon dossier Drupal pour utiliser "PHP 5.4.25". Ensuite, revenez dans le navigateur, ressaisissez les données d'installation, et le tour est joué -> opérationnel ...

Thèmes installés, certains modules, pages créées; est revenu à PHP 5.5.9 -> fonctionne toujours ...


0

Drupal 7: Vérifiez tous les problèmes avec les balises php 5.4 ou php 5.5 pour vous assurer que vous n'utilisez aucun des modules qui ont encore des problèmes avec ces versions: https://drupal.org/project/issues/search?text=&projects= & assigné = & soumis = & project_issue_followers = &&&& issue_tags_op =% 3D & issue_tags = PHP% 205.4% 2C% 20PHP% 205.5 .

Si votre site a un de ces modules installés, je pense qu'il vaut mieux s'en tenir à php 5.3 pour Drupal 7.

Drupal 6 Ajoutez également la balise php 5.3 car certains modules moins utilisés ou maintenus ont toujours des problèmes avec php 5.3.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.