Mec, où est mon php.ini?

il y a quelques années, J'ai installé Apache 2.2 x et PHP 5.3.1 sur un serveur Linux que je gère. J'ai utilisé .tar.gz et les ont construits selon les instructions (au lieu de rpms et what-have-you). Et tout était bien.

Aujourd'hui je dois installer ce qui ressemble à une bibliothèque PHP. J'ai parcouru toutes les étapes pour faire installer, et je trouve ibm_db2.so in $PHP_HOME/lib/extensions/somecomplicatedname/ibm_db2.so

La grande pêche est la dernière étape est la configuration de php.ini, mais il y est PAS de php.ini sur mon système. Horreur des horreurs. PHP fonctionne très bien, sauf bien sûr pour ce nouveau truc ibm_db2 que je veux utiliser pour que quelqu'un puisse utiliser une interface graphique pour bricoler avec DB2 . (J'ai essayé un petit script php qui échoue et indique que les fonctions ibm_db2 ne sont pas disponibles).

je dois traiter avec PHP Une fois tous les quelques années, alors s'il vous plaît, éclairez-moi à un niveau très basique sur ce que je pourrais faire pour permettre L'accès GUI basé sur le web à DB2 .

735
demandé sur Grant Miller 2011-12-31 02:20:06
la source

12 ответов

la meilleure façon de trouver ceci est: créer un fichier php et ajouter le code suivant:

<?php phpinfo(); ?>

et l'ouvrir dans le navigateur, il affichera le fichier qui est effectivement en train d'être lu!

Mises à jour par l'OP:

  1. la réponse précédemment acceptée 1519110920 " sera probablement plus rapide et plus pratique pour vous, mais elle n'est pas toujours correcte. Voir les commentaires sur cette réponse.
  2. s'il vous Plaît aussi notez l'alternative plus commode <?php echo php_ini_loaded_file(); ?> mentionnée dans cette réponse .
368
répondu Tejas 2017-06-27 18:55:12
la source

sur la ligne de commande Exécuter:

php --ini

vous obtiendrez quelque chose comme:

Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed:      /etc/php5/cli/conf.d/curl.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_sqlite.ini,
/etc/php5/cli/conf.d/sqlite.ini,
/etc/php5/cli/conf.d/sqlite3.ini,
/etc/php5/cli/conf.d/xdebug.ini,
/etc/php5/cli/conf.d/xsl.ini

ça vient de ma dev-machine locale. Cependant, la deuxième ligne est intéressant. S'il n'y a rien de mentionné, regardez le premier. C'est le chemin, où PHP cherche le php.ini .

vous pouvez saisir la même information en utilisant phpinfo() dans un script et l'appeler avec un navigateur. Son mentionné dans le premier bloc de la sortie. php -i fait la même chose pour la ligne de commande, mais c'est assez inconfortable.

683
répondu KingCrunch 2014-01-14 06:43:57
la source

ça marche pour moi:

php -i | grep 'php.ini'

vous devriez voir quelque chose comme:

Loaded Configuration File => /usr/local/lib/php.ini

p. S. Pour obtenir seulement le php.dansdans chemin

php -i | grep /.+/php.ini -oE
94
répondu coderama 2018-07-16 09:40:09
la source

dans la fenêtre de commande type

php --ini

il vous montrera le chemin quelque chose comme

Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File:         /usr/local/lib/php.ini

Si la commande ci-dessus ne fonctionne pas, alors utilisez cette

echo phpinfo();
58
répondu bibliophilsagar 2015-10-09 15:36:25
la source

Cette commande devrait vous aider à le trouver

php -r "phpinfo();" | grep php.ini
31
répondu Rimantas Jacikevicius 2015-01-09 19:59:39
la source

utilisez les commandes suivantes pour trouver le chemin du fichier php.ini sous linux.

[[email protected] ~]# locate php.ini
/etc/php.ini
/etc/php.ini.rpmnew
/usr/share/doc/php-common-5.4.45/php.ini-development
/usr/share/doc/php-common-5.4.45/php.ini-production



ou essayez cette autre façon

[[email protected] ~]# php --ini

its montre le résultat du chemin

27
répondu Sakthi Karthik 2017-11-22 08:04:25
la source
phpinfo();

vous indiquera son emplacement, ou à partir de la ligne de commande

php -i
22
répondu Leniel Maccaferri 2012-08-15 18:32:24
la source

PHP est livré avec deux fonctions natives pour montrer quel fichier de configuration est chargé:

selon votre configuration, Apache et CLI pourrait utiliser différents les fichiers ini. Voici les deux solutions :

Apache:

il suffit d'ajouter ce qui suit dans un fichier php et de l'ouvrir dans votre navigateur""

print php_ini_loaded_file();
print_r(php_ini_scanned_files());

CLI:

copier-coller dans votre terminal:

php -r 'print php_ini_loaded_file(); print_r(php_ini_scanned_files());'
19
répondu Creaforge 2014-10-06 18:28:48
la source
find / -name php.ini

Hey... il a travaillé pour moi!

6
répondu Banned_User 2014-12-22 10:22:11
la source

vous pouvez obtenir plus d'informations sur vos fichiers de configuration en utilisant quelque chose comme:

$ -> php -i | ack config # Use fgrep -i if you don't have ack

Configure Command =>  './configure'  ...
Loaded Configuration File => /path/to/php.ini
4
répondu Mike Purcell 2011-12-31 02:25:22
la source

pour SAPI: php-fpm

Il n'est pas nécessaire de créer un php.info fichier (il n'est pas une bonne politique de laisser le monde à lire de toute façon). Sur la ligne de commande:

php-fpm -i | more

quelque part dans sa sortie, il affichera cette ligne:

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

Voici une explication plus complète: https://www.cloudinsidr.com/content/how-to-figure-out-your-php-configuration-parameters-without-info-php /

3
répondu NightKnight on Cloudinsidr.com 2015-12-23 10:48:29
la source

il y a plusieurs façons valables déjà mentionnées pour localiser le php.fichier ini, mais si vous avez trouvé cette page parce que vous voulez en faire quelque chose dans un script bash:

path_php_ini="$(php -i | grep 'Configuration File (php.ini) Path' | grep -oP '(?<=\=\>\s).*')" echo ${path_php_ini}

-1
répondu Cragmonkey 2017-01-04 07:37:18
la source

Autres questions sur linux php php-ini