2013-10-08 20 views
10

Ho bisogno di installare PHP nella mia home directory, senza inquinare alcuna directory fuori dalla mia casa [requisito molto importante!]. Nel sistema esiste già una versione precedente di PHP in esecuzione.Installare PHP nella mia home directory

ho trovato le istruzioni qui: http://blog.thecybershadow.net/2013/01/25/installing-php-and-apache-module-under-home/

Sto facendo funzionare questi comandi nella mia home directory, come utente normale dan

$ ./configure --prefix=/home/dan/php 
$ make 
$ INSTALL_ROOT=/home/dan/php make install 

L'autore afferma l'articolo che avete bisogno di utilizzare sia --prefix e INSTALL_ROOT per assicurarsi che nulla venga installato al di fuori della directory home.

PHP viene installato (! Yeah), ma purtroppo viene installato qui:

/home/dan/php/php55/home/dan/php/php55/bin 

mentre io speravo di avere installato qui:

/home/dan/php/php55/bin 

Cosa devo fare? Dovrei usare solo una delle direttive? Qual è il modo più ordinato e convenzionale per farlo?

risposta

5

Questo è tutto semplice:

INSTALL_ROOT=/ DESTDIR=/ make install 

penso che questo a causa di questo, ma io sono probabilmente sbagliato:

Si utilizza sia $ PWD/configure --prefix = e l'INSTALL_ROOT variabile con marca. Queste due opzioni si escludono a vicenda.
Quando si utilizza --prefix, si richiede di aggiungere un percorso prima di ogni percorso dei file da installare nei file make. Quindi si utilizza la variabile INSTALL_ROOT.

Configura crea regole di creazione statiche; quindi make non potrebbe avere un modo per fare la differenza:
Aggiunge il percorso specificato con la configurazione una seconda volta.

0

Basta usare

make install 

dal momento che avete già configurato per essere installato nella vostra casa. (Meglio provarlo prima su un account non root)

3

Per installare php nella propria directory home (Esempio: se non si dispone dell'accesso root ma è necessario un eseguibile php), eseguire il comando seguente comandi nella cartella di download di PHP:

$ ./configure --prefix=/my/path/ 
$ make install 

come detto @ Michael Tsang, non si necessità per specificare la cartella di installazione una seconda volta come che porterà alla creazione della gerarchia installazione duplicare cartella del Installa destinazione. Vorrei anche raccomandare compilare php con il --with-openssl se si sta lavorando su un server remoto, o usando il compositore per esempio (semplicemente aggiungere la bandiera alla fine del primo comando).

Problemi correlati