2011-01-14 21 views
8

Sto iniziando a imparare PHP. Vorrei usare PHP 5.3 perché è la versione più recente finora. Sto lavorando a un progetto in cui userò gli script PHP 5.2 che qualcuno mi ha dato.PHP 5.3 è retrocompatibile con PHP 5.2?

Stanno andando a correre bene anche se sto usando PHP 5.3?

+8

http://www.php.net/manual/en/migration53.php dovrebbe avere tutto quello che devi sapere. –

risposta

10

PHP.net dispone di un guide per l'aggiornamento da PHP 5.2.x a PHP 5.3. Questo include una sezione su backwards compatibility.

Dalla mia esperienza, il passaggio da 5.2 a 5.3 è andato abbastanza agevolmente. L'unico problema che ho avuto con la mia app è stato quello di verificare che le mie impostazioni DateTime fossero configurate come proprietà nel mio php.ini e filtrare alcuni avvisi di deprecazione eccessivamente aggressivi che hanno iniziato a comparire.

+1

+1. Transizione davvero liscia anche per me. Un problema a cui mi sono imbattuto è descritto qui: http://stackoverflow.com/questions/4673472/php-5-3-e-assigning-the-return-value-of-new-by-reference – mfonda

2

Per la maggior parte, rilasci di versioni secondarie non causeranno problemi. Dovresti essere a posto.

Ovviamente, se si verificano problemi, è necessario assicurarsi di avere error_reporting impostato per visualizzare tutti gli errori. PHP: error_reporting

Inoltre, controllare il manuale per i cambiamenti nel 5.3 da 5.2: Migrating from PHP 5.2.x to PHP 5.3.x

5

No, 5.3 non è compatibile, e con tutti i mezzi non dovrebbe essere visto come un aggiornamento di versione minore. C'è una pagina dedicata alle modifiche incompatibili: http://www.php.net/manual/en/migration53.incompatible.php Considerate anche le funzioni che avete progettato ma che sono state accettate in 5.3. Poiché php non supporta il sovraccarico o la sovrascrittura di funzioni, questo darà un errore.

+0

"considera le funzioni che hai progettato ma è stato accettato in 5.3 "wow, questa è una cosa rara/casuale da segnalare: D ma perché -1? – Hannes

+1

Per quanto riguarda il motivo per cui l'ho fatto notare: l'ho incontrato in più di un'occasione cercando di eseguire vecchie applicazioni con 5.3. Avevamo funzioni definite che ora dove le funzioni di php-lib (penso che 'date_add' fosse tra quelle), e si rompe davvero. E una ricerca e sostituzione globale richiede sicuramente più impegno di quanto ci si aspetti da un aggiornamento della versione minore. Per quanto riguarda il perché -1, anch'io sono curioso. – Inca

2

Ci sono alcuni problemi minori. Il tempo di chiamata per riferimento è deprecato. Ci sono nuove parole riservate (per esempio goto).

0

php non ha alcuna retrocompatibilità in tutte le versioni. Spesso ha rimosso alcune funzioni quando ha cambiato la versione. Il problema si verifica quando devi aggiornare il server e devi modificare la versione php ma alcuni script php non funzionano più con la nuova versione di php. Devi anche correggere lo script php che è un lavoro più grande. Ma se lo script appartiene ad altri utenti piuttosto che ai tuoi, non è possibile aggiornare quegli script. Questa è una vera situazione di mal di testa che sono stufo di php e passare a Perl invece per ragioni di compatibilità all'indietro.

Problemi correlati