Posso usare PHP 5.5?


18

Con il congelamento delle funzionalità per PHP 5.5 da molto tempo, ho pensato che fosse tempo di pubblicare un aggiornamento alla popolare domanda PHP 5.4 e Drupal 7 .

Quindi, Drupal può funzionare su PHP 5.5?

Risposte:


21

In breve, se il tuo sito funziona su PHP 5.3, verrà eseguito anche su 5.5, vai all'aggiornamento! (Il tuo ambiente di sviluppo, fino a quando non verrà rilasciata una versione reale)

Con la breve risposta fuori mano, ecco alcuni dettagli in più.

Per quanto riguarda "Funziona Drupal su di esso", pochissimo è cambiato da PHP 5.3, a 5.4 a 5.5. L'unico problema che si è presentato sotto PHP 5.4 è stato semplicemente il fatto che PHP era più bravo a dire agli sviluppatori quando stavano facendo qualcosa di sbagliato, piuttosto che un'incompatibilità introdotta da PHP. I dettagli sono ben trattati in PHP 5.4 e Drupal 7 .

Tuttavia, nessun nuovo avviso simile si presenta con PHP 5.5 e, sebbene alcune cose siano cambiate , è altamente improbabile che abbiano un impatto negativo sul tuo sito Drupal.

Una preoccupazione per le prestazioni che è stata sollevata con l'esecuzione di 5.4 era che APC era in ritardo nel supporto. Questa volta non sarà un problema, poiché 5.5 include ora una sostituzione di APC Optimizer +

Drupal 6: Ormai, la maggior parte delle cose funziona bene con PHP 5.3, il che significa che dovrebbe funzionare anche su 5.5. Devo ancora provarlo da solo.

Drupal 7: funziona senza problemi, non ho mai avuto problemi, soprattutto perché Drupal 7 è stato sviluppato più pensando a PHP 5.3 e tutti i problemi scoperti su 5.4 sono stati risolti da tempo.

Drupal 8: richiede 5.3 dall'inizio, quindi funzionerà bene. Aggiornerò la risposta quando l'ho testata io.


1
Il mio sito personale è stato in esecuzione su PHP 5.5 per un po 'di tempo senza problemi (anche se, garantito, è un sito piuttosto semplice). Il problema più rilevante relativo al core di cui sono a conoscenza è che l' installazione può non riuscire se OPcache (la cache opcode integrata all'APC) è abilitata , quindi se si desidera utilizzare OPcache, potrebbe essere necessario disabilitarlo durante l'installazione , quindi riattivarlo in seguito.
Garrett Albright,

@GarrettAlbright Sto cercando di aggiornare il nostro sito D6 a PHP 5.5. Attualmente nessuno dei campi data nei moduli di amministrazione mostra i valori di data predefiniti. Hai visto problemi come questo?
Patrick,

Patrick, non posso aiutarti con nulla riguardo a Drupal 6, tranne che per consigliarti di aggiornare se possibile. Quella base di codice diventa sempre più antica.
Garrett Albright,

@Letharion: è ora di aggiornare la risposta dopo aver testato D8 con PHP5.5?
Hugo

1
@Hugo Hmmm, sicuramente. Ho dimenticato questa domanda particolare, e mentre ho avuto un sito D8 in su non l'ho tenuto presente. Come nota veloce, ho provato alcune beta sulla mia macchina con 5.5, e tutto ha funzionato bene. Grazie per il promemoria, proverò a ricordarlo la prossima volta che giocherò con D8.
Letharion,

3

Aggiornamenti alla risposta di letharion:

  • Drupal 8 ora richiede PHP 5.4.2 (probabilmente anche superiore quando lo rilasciamo), e 5.5 è supportato, anche se non richiesto
  • Il supporto di Drupal 6 per 5.3 è già buono anche se i problemi persistono, gestiti come bug perché la migrazione D8 da D6 si baserà sul fatto che PHP 5.3 è supportato da D6.

1

Durante l'installazione di una nuova versione di Drupal 7.26 in un ambiente PHP 5.5, ho ricevuto due volte il caricamento della schermata "Imposta database". Al secondo invio del modulo, avrei quindi ricevuto un WSOD . Caricamento del sito dal percorso principale ha dato un 404.

Ho rintracciato questa patch (commento # 45) che ha risolto il problema per me. Come leggerai lì, è stato dovuto al modo in cui funziona il nuovo sistema di memorizzazione nella cache di PHP e alla memorizzazione nella cache di settings.php che memorizza le credenziali del database.


1

L'aggiunta delle seguenti righe al file htaccess principale può essere d'aiuto.

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

Aggiungendo php_value error_reporting E_ALLmi ha superato il WSOD, il resto ha solo aiutato il debug.
Wolffer-East,

0

Ho colto di sorpresa tentando di installare Drupal 7.26 su 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

Ho dovuto applicare questa patch - https://drupal.org/comment/7721819#comment-7721819 .

Database esistente eliminato per questa installazione.

Ricreato il database e quindi eseguito install.php.

Il problema per me è stato risolto con quella patch.


Non penso che ciò si riferisca necessariamente alla versione di PHP. field_attach_load()sembrerebbe essere una funzione di Drupal e errori simili sono stati pubblicati nel 2009 , relativi a Drupal 7.
MrWhite,

0

Nuova installazione di drupal-7.26

Errore PHP 5.5.9 -got: "... entity.inc sulla riga 316"

Nel pannello di controllo del server ho cambiato la mia cartella Drupal per usare "PHP 5.4.25". Quindi torna nel browser, immetti nuovamente i dati di installazione e voilà -> attivo e funzionante ...

Temi installati, alcuni moduli, pagine create; modificato in PHP 5.5.9 -> funziona ancora ...


0

Drupal 7: controlla tutti i problemi con il tag php 5.4 o php 5.5 per assicurarti di non utilizzare nessuno dei moduli che presentano ancora problemi con quelle versioni: https://drupal.org/project/issues/search?text=&projects= & assegnato = & submit = & project_issue_followers = &&&& issue_tags_op =% 3D & issue_tags = PHP% 205,4% 2C% 20PHP% 205,5 .

Se sul tuo sito è installato uno di questi moduli, penso sia meglio attenersi a php 5.3 per Drupal 7.

Drupal 6 Aggiungi anche il tag php 5.3 poiché alcuni moduli meno utilizzati o gestiti hanno ancora problemi con php 5.3.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.