Comment trouver le php.fichier ini utilisé par la ligne de commande?

j'ai besoin d'activer pdo_mysql dans mon environnement EasyPhp, donc je suis allé à php.fichier ini et décommenté la ligne suivante:

extension=php_pdo_mysql.dll

Malheureusement j'ai toujours le même problème. J'utilise le CLI donc je suppose que je dois localiser le php.fichier ini utilisé par le CLI. Comment puis-je le trouver?

317
demandé sur Amokrane Chentir 2010-05-01 19:53:00

13 réponses

il suffit d'exécuter php --ini

752
répondu Mchl 2010-09-19 07:11:40

vous pouvez obtenir un phpinfo() complet en utilisant:

php -i 

et, là, il y a le fichier php.ini utilisé:

$ php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini

sur Windows, utilisez find à la place:

php -i|find/i"configuration file"
344
répondu Pascal MARTIN 2015-07-16 10:50:14
php --ini

vous donnera tous les détails sur le chemin d'utilisation et le(S) fichier (s) ini possible

32
répondu Lode 2014-08-13 12:11:45

vous pouvez utiliser get_cfg_var('cfg_file_path') pour cela:

pour vérifier si le système utilise un fichier de configuration, essayez de récupérer la valeur du paramètre de configuration cfg_file_path. Si c'est disponible, un fichier de configuration est utilisé.
contrairement à phpinfo (), il dira s'il n'a pas trouvé/utilisé un php.ini.
var_dump( get_cfg_var('cfg_file_path') );

et vous pouvez simplement ensemble l'emplacement de la php.ini . Vous utilisez la version en ligne de commande, donc en utilisant le paramètre -c vous pouvez spécifier l'emplacement, par exemple

php -c /home/me/php.ini -f /home/me/test.php
13
répondu VolkerK 2010-05-01 16:06:35

Run php --ini dans votre terminal, vous obtiendrez tous les détails sur les fichiers ini

[root@tamilan src]# php --ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File:         /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed:      /etc/php.d/apc.ini,
/etc/php.d/bcmath.ini,
/etc/php.d/curl.ini,
/etc/php.d/dba.ini,
/etc/php.d/dom.ini,
/etc/php.d/fileinfo.ini,
/etc/php.d/gd.ini,
/etc/php.d/imap.ini,
/etc/php.d/json.ini,
/etc/php.d/mbstring.ini,
/etc/php.d/memcache.ini,
/etc/php.d/mysql.ini,
/etc/php.d/mysqli.ini,
/etc/php.d/pdo.ini,
/etc/php.d/pdo_mysql.ini,
/etc/php.d/pdo_sqlite.ini,
/etc/php.d/phar.ini,
/etc/php.d/posix.ini,
/etc/php.d/sqlite3.ini,
/etc/php.d/ssh2.ini,
/etc/php.d/sysvmsg.ini,
/etc/php.d/sysvsem.ini,
/etc/php.d/sysvshm.ini,
/etc/php.d/wddx.ini,
/etc/php.d/xmlreader.ini,
/etc/php.d/xmlwriter.ini,
/etc/php.d/xsl.ini,
/etc/php.d/zip.ini

pour plus d'informations, utilisez la commande d'aide php --help elle affichera toutes les options possibles.

13
répondu Sathish 2013-01-03 07:29:39

si vous voulez que tous les fichiers de configuration soient chargés, cela vous dira:

php -i | grep "\.ini"

certains systèmes chargent des objets à partir de plus d'un fichier ini. Sur mon système ubuntu, il ressemble à ceci:

$  php -i | grep "\.ini"
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini
Scan this dir for additional .ini files => /etc/php5/cli/conf.d
additional .ini files parsed => /etc/php5/cli/conf.d/apc.ini,
/etc/php5/cli/conf.d/curl.ini,
/etc/php5/cli/conf.d/gd.ini,
/etc/php5/cli/conf.d/mcrypt.ini,
/etc/php5/cli/conf.d/memcache.ini,
/etc/php5/cli/conf.d/mysql.ini,
/etc/php5/cli/conf.d/mysqli.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_mysql.ini
6
répondu Reece45 2010-05-01 17:13:27

parfois, les choses ne sont pas toujours ce qu'elles semblent lorsqu'il s'agit de fichiers de configuration en général. Donc ici j'applique mes méthodes habituelles pour explorer quels fichiers sont ouverts par un processus.

j'utilise un programme de ligne de commande très puissant et utile appelé strace pour me montrer ce qui se passe vraiment derrière mon dos!

$ strace -o strace.log php --version
$ grep php.ini strace.log

Strace déterre les appels du noyau (système) que votre programme fait et vide la sortie dans le fichier spécifié par-o

il est facile d'utiliser grep pour rechercher des occurrences de php.ini dans ce journal. Il est assez évident en regardant la réponse typique suivante pour voir ce qui se passe.

open("/usr/bin/php.ini", O_RDONLY)      = -1 ENOENT (No such file or directory)
open("/etc/php.ini", O_RDONLY)          = 3
lstat("/etc/php.ini", {st_mode=S_IFREG|0644, st_size=69105, ...}) = 0
6
répondu thomas-peter 2011-06-27 13:00:06

sur OSX Mavericks, en cours d'exécution:

$ php -i | grep 'Configuration File'

Retourné:

Configuration File (php.ini) Path => /etc
Loaded Configuration File:         (none)

dans le répertoire /etc/ était:

php.ini.default

(ainsi que php-fpm.conf.default )

j'ai pu copier php.ini.default en php.ini , ajouter date.timezone = "US/Central" en haut (juste en dessous de [php] ), et le problème est résolu.

(au moins le message d'erreur est parti.)

6
répondu MikeiLL 2015-05-28 22:25:13

Si vous avez besoin de passer à une autre application, vous pouvez faire quelque chose comme:

php --ini | grep Loaded | cut -d" " -f12

renvoie le chemin. php -c $(php --ini | grep Loaded | cut -d" " -f12) passera dans le fichier de configuration (utile pour fpm )

4
répondu Mike Mackintosh 2013-12-31 02:52:27

D'après ce que je me souviens quand J'utilisais EasyPHP, le php.le fichier ini est soit dans C:\Windows\ ou C:\Windows\System32

3
répondu Tim Cooper 2010-05-01 15:57:02

dans votre php.définissez votre répertoire d'extension, E. g:

extension_dir = "C:/php/ext/"

vous verrez dans votre dossier PHP il y a un dossier ext avec toutes les dll et extensions.

1
répondu Marc Uberstein 2010-09-19 07:34:21

Faire

find / -type f -name "php.ini" 

cela affichera tous les fichiers nommés php.ini .

trouvez celui que vous utilisez, habituellement apache2/php.ini

1
répondu Han Van Pham 2018-07-27 08:58:39

il n'y a pas de php.ini utilisé par la ligne de commande. Vous devez copier le fichier de ...EasyPHP-<<version>>\apache\php.ini à ...EasyPHP-<<version>>\php\php.ini que d'éditer celui de php directory

référence:

-4
répondu antitoxic 2017-05-23 12:26:20