È possibile avere più versioni di PHP in esecuzione sulla stessa casella (come le guide). Ecco il mio problema, ho bisogno di iniziare lo sviluppo su un nuovo progetto e ho intenzione di utilizzare PHP 5.3 per questo in modo da poter utilizzare l'ultimo framework Zend e il record attivo con esso.
Tuttavia la macchina su cui ho bisogno di ospitare la mia applicazione ha PHP 4.4 e ci sono diverse altre applicazioni ospitate lì. Non voglio aggiornare la versione di PHP sul server come in passato ho dovuto affrontare un sacco di problemi durante l'aggiornamento della versione di PHP e funzioni obsolete.
Mi chiedevo se è possibile avere più versioni di PHP sulla stessa casella e quindi in qualche modo specificare la versione che vuoi caricare la tua applicazione (simile alle guide)Più versioni PHP nella stessa casella
risposta
Sì, è possibile. In effetti, molti server funzionano in questo modo. Di tanto in tanto potresti vedere estensioni .php4 e .php5 che indicano con quale versione deve essere gestito quel particolare script.
ServerFault affrontato questo problema
Un possiblity utilizza una versione di PHP come modulo Apache, e l'altra versione come CGI; ma un'idea che ho un po 'come meglio avere:
- Diversi casi distinti di Apache,
- Ognuno di ascolto su una porta diversa (per esempio, PHP 4.4 sulla porta 44000, e PHP 5.3.1 sulla porta 53100)
- e ognuno con una diversa versione di PHP
questo modo, si hanno ambienti totalmente diversi, che funziona in modo indipendente l'uno dall'altro, ed è possibile configurare/modificare tutto quello che vuoi in ogni ambiente senza rischi b Riacquistare qualcuno degli altri.
(E se non si vuole avere numeri di porta negli URL, suppongo che si può mettere un proxy di fronte a istanze di Apache distinte, quindi sembra che ci sia una sola)
È può eseguire più versioni di PHP sulla stessa scatola usando Docker.
Un comando esempio potrebbe essere:
sudo docker run -d -p 8055:80 -v /var/www:/var/www \
-v /etc/apache2/sites-available:/etc/apache2/sites-available \
-v /etc/apache2/sites-enabled:/etc/apache2/sites-enabled \
codeyourdream/apache-sendmail-php55
Ecco cosa fa questo comando:
- Inoltra il tuo locale
/var/www
,/etc/apache2/sites-available
e/etc/apache2/sites-enabled
ai corrispondenti cartelle del contenitore Docker. Se i siti Web locali e/o le configurazioni di Apache si trovano in cartelle diverse, sostituire la prima parte del valore-v
. I.e. il formato è:docker run -v /host/directory:/container/directory -other -options image_name command_to_run
- Si inoltra la porta 8055 del computer locale alla porta 80 di container Docker
- Si corre il contenitore da un'immagine
Se si esegue "codeyourdream/apache-sendmail-php55" questo comando, tutti i siti Web locali dovrebbero essere disponibili tramite la porta 8055 (ovvero tramite URL come http://localsite:8055) ed elaborati da PHP 5.5
Vedere https://codeyourdream.com/blog/how-run-multiple-php-versions-apache-one-linux-machine-using-docker per ulteriori dettagli. Nota di affiliazione: questo è il blog della mia squadra.
- 1. Più versioni di JQuery nella stessa pagina
- 2. Posso utilizzare più versioni di jQuery nella stessa pagina?
- 3. Due versioni jQuery nella stessa pagina
- 4. Come posso eseguire più versioni di PHPUnit sulla stessa macchina?
- 5. Più UIAlertViews nella stessa vista
- 6. più caricatori nella stessa attività
- 7. più chartjs nella stessa pagina
- 8. Java: caricamento dinamico di più versioni della stessa classe
- 9. Heroku PHP e Node.js nella stessa app
- 10. Caricamento di più file nella stessa richiesta
- 11. Chiamare CTE più volte nella stessa query
- 12. Tracciare più immagini nella stessa trama
- 13. più secchi S3 nella stessa distribuzione CloudFront
- 14. WebRTC più stream video nella stessa peerConnection
- 15. Più grafici nella stessa figura [R]
- 16. Come seleziono più valori nella stessa colonna?
- 17. Versioni diverse della stessa dipendenza in Maven
- 18. Distribuzione di 2 versioni della stessa applicazione
- 19. È più veloce modificare più colonne nella stessa query?
- 20. versioni PHP "market share"
- 21. Più versioni PHP in Wamp sotto Windows 7
- 22. Utilizzo di due versioni diverse della stessa dipendenza del nodo
- 23. Due versioni della stessa DLL in diversi progetti
- 24. elencando più versioni su pypi
- 25. ASP.net: Posso avere 2 versioni diverse della stessa DLL/assemblaggio nella cartella bin?
- 26. la baracca per più versioni
- 27. Echoing nella stessa riga
- 28. Espansioni multiple di più pacchetti di parametri nella stessa espressione
- 29. Come modificare più formati Data nella stessa colonna
- 30. Posso catturare più eccezioni Java nella stessa clausola catch?
Sembra che questa sia una domanda per l'errore del server ... – Myles