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?
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:
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.
Mises à jour de la réponse de letharion:
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.
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
php_value error_reporting E_ALL
m'a permis de dépasser le WSOD, le reste m'a aidé à déboguer.
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.
field_attach_load()
semble être une fonction Drupal et des erreurs similaires ont été publiées en 2009 , concernant Drupal 7.
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 ...
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.