Far funzionare XAMPP con più versioni di PHP


18

Come posso installare XAMPP per lavorare con diverse versioni di PHP?

Uso XAMPP perché alcuni script sono difettosi quando vengono eseguiti in WAMP. Uso WAMP perché supporta diverse versioni di PHP.

Ma ora vorrei semplificarlo fino a solo XAMPP in modo che il mio sviluppo web fosse più facile da gestire.

È possibile configurare XAMPP per funzionare con più versioni di PHP? O è qualcosa che devo cercare in una soluzione alternativa?

Nota: sto funzionando su Windows 7.


Potresti voler usare WAMPSERVER invece di Xampp. WAMPSEVER contiene il vassoio switch della versione PHP; che è utile.
Weijing Jay Lin,

Risposte:


8

Nota:
questa risposta non è valida per la nuova versione di XAMPP.


Innanzitutto, dovrai interrompere Apache da XAMPP . Poi,

Vai vai cmd e passa alla cartella XAMPP. Ad esempio, se la cartella XAMPP è in C: \

C:\>cd C:\XAMPP 

In questa cartella è presente un file denominato php-switch.bat, eseguito dalla riga di comando. In caso contrario, puoi anche eseguire php-switch.batdirettamente.

Vedrai la versione che stai utilizzando e la procedura per passare. Ad esempio, digitare 4per passare a PHP 4, quindi seguire la procedura.

php-switch.bat in esecuzione nel terminale

PHP 4 verrà installato nella directory XAMPP \ PHP e cambierà correttamente. quindi riattivare l'Apache.


1
Non riesco a trovare php-switch.bat su XAMPP 1.7.3 installato. Esiste una versione specifica di xamp che supporta questo? Grazie!
Pennf0lio,

Ops. Penso che la versione corrente non includa più php4 apachefriends.org/f/viewtopic.php?f=16&t=33327 .. Penso che avrai bisogno della versione precedente se vuoi passare alla v4
Ye Lin Aung

4
questo non è più valido nelle versioni più recenti di XAMPP
mauris,

1
Cosa non è più valido Installazione di PHP4 o versioni swiching?
AlxVallejo,

4
non c'è più php-switch.bat nella nuova versione
Toskan,

5

Il metodo migliore è modificare le impostazioni di PHP in

/apache/conf/extra/httpd-xampp.conf

per riflettere la nuova versione di PHP che si desidera utilizzare

Nel mio caso ho decompresso PHP5.4 in C: \ XAMPPLITE \ PHP5.4 e quindi ho aggiornato le linee chiave in questo file come:

SetEnv PHPRC "C:\\xampplite\\php5.4"

LoadFile "C:/xampplite/php5.4/php5ts.dll"

PHPINIDir "C:/xampplite/php5.4"

È inoltre necessario assicurarsi che sia installata la versione corretta di php5apache2_2.dll

Per garantire ciò, ho copiato la nuova versione di php5apache2_2.dll nella directory dei moduli Apache con un nome univoco, quindi ho modificato la configurazione in modo che corrisponda a:

copy php5.4\php5apache2_2.dll apache\modules\php5apache2_2-5_4.dll

e nel file httpd-xampp.conf

LoadModule php5_module modules/php5apache2_2-5_4.dll

1

Se i tuoi script sono buggy, rimarranno buggy indipendentemente dai pacchetti server che cambi. Se il problema è nelle configurazioni del tuo server, scava a destra e risolvilo.

La vera soluzione hardcore sarebbe installare e gestire manualmente i componenti del server (e le loro configurazioni). Da quando sono passato da WAMP all'installazione di server autonomo, non ho mai più sentito la necessità di soluzioni server preconfezionate.


Grazie per il consiglio! La maggior parte della discussione suggerisce di usare XAMPP come soluzione rapida e sporca per il problema degli script. Mentre hai un punto, per me è saggio cambiare server (perché è veloce) paragonarlo a fare confusione con la configurazione del server che non ho idea da dove cominciare.
Pennf0lio,

Bene ... Prima o poi potresti arrivare a una situazione in cui non c'è altra opzione che approfondire le configurazioni (come configurare un server tramite una connessione terminale). Nel caso in cui cambiassi idea, potresti provare a differenziare i tuoi file di configurazione predefiniti XAMPP / WAMP / LAMP con quelli di una nuova installazione autonoma del server e a cercare manuali cosa significano queste differenze. È così che ho imparato quello che so adesso.
antichris,

Fantastico grazie per la punta. Sì, sono d'accordo con il tuo punto Ma per ora affronterò il mio problema uno alla volta e cercherò la soluzione più rapida. : PI deve rispettare molte scadenze.
Apprezzo

Ho fatto una domanda simile ma con più funzionalità qui serverfault.com/questions/121810/… Volevo aggiornare singoli elementi come apache, mysql, php e phpmyadmin nel mio xampp. Sto ancora cercando una soluzione a questo. Se qualcuno trova una soluzione, per favore fatemelo sapere. Grazie
Gaurav Sharma,

1

Se vuoi quella funzione (significato, capacità di mescolare e abbinare build di componenti apache, mysql e php) e preferisci le app Stack AMP in bundle di terze parti, potresti guardare WAMPServer 2.0 come un'opzione per Windows ... Abbastanza ogni altro L'opzione AMP in bundle che ho esaminato (per Windows, Mac e Linux) non consente di scambiare build di componenti (non includo switch di PHP4 e PHP5 come build di componenti poiché sono stati offerti solo a causa del codice legacy problemi fino a quando PHP5 non è diventato più compatibile con le versioni precedenti e PHP4 meno abbondante).

La maggior parte delle app stack AMP in bundle di terze parti, in particolare build di sistemi operativi basati su Unix (Mac e Linux), al fine di avere i componenti dello stack all'interno della stessa struttura di directory della directory radice "app", devono compilare ogni componente con direttive specifiche e Argomenti che alla fine fanno da filo conduttore ad alcuni dei riferimenti alle cartelle e alle firme binarie in ciascuno dei componenti si costruiscono da soli .... in particolare i componenti mysql e php perché hanno oggetti di libreria che sono entrambi condivisi e devono essere specificatamente referenziati e inclusi durante la compilazione del sorgente ... (e mi sembra che la maggior parte non per qualsiasi motivo si compili solo con tutte le direttive e le librerie opzionali incluse ... non sono sicuro che risolverebbe il problema o no b / c Sono arrivato così lontano con il mio progetto per rispondere a questo ancora).

Un'altra nota, perché si trova nello stesso contesto .... per quanto riguarda i commenti sull'utilizzo delle installazioni autonome dei componenti rispetto agli stack _AMPP, purtroppo so solo quello che ho scritto sopra perché ho provato a configurare usando i 3 autonomi il codice sorgente dei componenti e ho provato ad avere la mia torta e mangiarla .... senza aver mai avuto alcuna esperienza con nessuno di loro prima ... quindi posso dire che ci sono 2 ragioni molto convincenti per cui gli sviluppatori fanno e dovrebbe usare gli stack per ambienti di sviluppo locale:

1) se il tuo progetto utilizza questa tecnologia ma non estende esplicitamente la funzione all'interno del core di un componente, la maggior parte vuole solo essere in corsa per poter lavorare su ciò su cui ha bisogno di lavorare .... e non avere per capire tutte le configurazioni necessarie per i 3 componenti per dialogare senza problemi. Si potrebbe facilmente lottare per giorni per imparare quali direttive, moduli, librerie, argomenti di compilazione, ecc. Sono necessari. Se lo sai già, fantastico, ma non lo consiglio a qualcuno che non lo fa a meno che non lo farai per loro.

2) gli stack in bundle sono autonomi e isolati dai file di configurazione del sistema operativo, quindi è possibile eliminare l'ambiente di sviluppo senza gravi conseguenze .... Se si desidera eseguire script che distribuiscono i file nella cartella "etc" necessaria, non conoscerti, ma di tanto in tanto posso fare un errore e un errore nella cartella ../XAMPP/etc è molto meno doloroso di un errore nella cartella / etc.

3) GUI ... GUI ... GUI ... non tutti sono una riga di comando di Mozart e gli stack AMPP forniscono tutti una buona interfaccia grafica per accendere e spegnere le cose a tuo piacimento. Se vuoi una GUI, graviterai sulle app Stack AMPP ... se non ti interessa, tutto dipende da quanto peso o stock hai messo sui miei punti # 1 & # 2

Ad ogni modo, mi dispiace per la tesi di "Come far sbadigliare qualcuno", spero che qualcuno ne tragga qualcosa.


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.