come cambiare il percorso di php ini windows


12

Ho scaricato php, l'ho aggiunto al mio percorso e sto provando ad abilitare openssl

php --ini mi dice che il file di configurazione è c: \ windows che non c'era nulla lì, non voglio copiare php in c / windows.

Come posso cambiare questo per puntare alla mia cartella php?

Risposte:


10

Non è necessario che nulla abbia a che fare con PHP vicino alla c:\windowscartella.

Se lo fai, servirà solo a rovinarti quando aggiorni PHP a una nuova versione.

Se esegui il CD nella cartella in cui è installato PHP e lo fai php --ini, leggerà il file php.ini dalla cartella in cui ti trovi.

D:\wamp\bin\php\php5.5.12>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         D:\wamp\bin\php\php5.5.12\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

Penso che sia anche una cattiva idea mettere anche la cartella di installazione di PHP nel PERCORSO di Windows.

Tutto ciò di cui hai bisogno è un piccolo file batch che imposterà il tuo PERCORSO per la durata della finestra di comando che stai usando e lo inserisca in una delle cartelle che si trova già nel PERCORSO di Windows.

Quindi supponendo che PHP sia installato in C:\phpquesto è il file batch

phppath.cmd

PATH=%PATH%;C:\php
php --ini
php -v

E poi esegui questo file batch ogni volta che apri una finestra di comando e desideri eseguire un codice PHP e il tuo ambiente viene configurato. Puoi anche aggiungere altre cose a questo file batch quando hai bisogno di altre cose aggiunte al tuo ambiente come Composer ecc.


Sì! Questo funziona per me. PHP.ini è meglio con PHP.exe nella stessa cartella in modo che Web e CLI PHP possano fare riferimento allo stesso PHP.ini.
Scott Chu,

@ScottChu Non proprio, sono 2 ambienti diversi e nella vita reale spesso vuoi configurazioni diverse per entrambi.
RiggsFolly,

4

Secondo la documentazione:

Il file di configurazione (php.ini) viene letto all'avvio di PHP. Per le versioni del modulo server di PHP, ciò accade solo una volta all'avvio del server web. Per le versioni CGI e CLI, succede ad ogni chiamata.

php.ini è cercato in queste posizioni (in ordine):

  • Posizione specifica del modulo SAPI (direttiva PHPIniDir in Apache 2, opzione della riga di comando -c in CGI e CLI, parametro php_ini in NSAPI, variabile d'ambiente PHP_INI_PATH in THTTPD)
  • La variabile d'ambiente PHPRC. Prima di PHP 5.2.0, questo veniva verificato dopo la chiave di registro menzionata di seguito.
  • A partire da PHP 5.2.0, la posizione del file php.ini può essere impostata per diverse versioni di PHP. Le seguenti chiavi di registro vengono esaminate nell'ordine: [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xyz], [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xy] e [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x], dove x, y e z indicano il maggiore PHP, versioni secondarie e di rilascio. Se esiste un valore per IniFilePath in una di queste chiavi, il primo trovato verrà utilizzato come posizione di php.ini (solo Windows).
  • [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP], valore di IniFilePath (solo Windows).
  • Directory di lavoro corrente (tranne CLI).
  • La directory del server Web (per i moduli SAPI) o la directory di PHP (altrimenti in Windows).
  • Directory di Windows (C: \ windows o C: \ winnt) (per Windows) o opzione di tempo di compilazione --with-config-file-path.

Dovresti provare la PHPRCvariabile di ambiente o la chiave di registro [HKEY_LOCAL_MACHINE\SOFTWARE\PHP].


0

Ho provato di tutto senza successo. ha cambiato apache httpd.conf, php.ini e molti altri tentativi, ha sempre portato a File di configurazione caricato - (nessuno). Infine, ho copiato tutti i file dalla directory php alla directory C: \ Programmi (x86) \ Apache Software Foundation \ Apache2.2 \ bin e tutto ha iniziato a funzionare. Perfettamente. Purtroppo non è la soluzione perfetta, ma ha funzionato.

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.