Comment savoir quel php.ini est utilisé?

je cherche le chemin où le php.le fichier ini est situé dans notre serveur Ubuntu Linux, et j'ai trouvé beaucoup de php.ini lors de l'exécution de la commande find / -name php.ini. Alors comment savoir exactement à partir d'une page Web de script php où le php.ini ?

31
demandé sur pheromix 2013-01-28 12:28:24

6 réponses

Vous pouvez utiliser php_ini_loaded_file ()

tiré de php.net:

$inipath = php_ini_loaded_file();
if ($inipath) {
    echo 'Loaded php.ini: ' . $inipath;
} else {
    echo 'A php.ini file is not loaded';
}

Vous pouvez également vouloir vérifier php_ini_scanned_files ()

aussi, vous devriez noter que si vous exécutez un script PHP de CLI, il est possible qu'unphp.ini le fichier sera utilisé que si un serveur (i.e. Nginx ou apache) l'exécute.

autres options:

  • php -i|grep 'php.ini'
  • créer info.php qui contient <?php phpinfo(); dans le webroot, et l'exécuter dans votre navigateur
38
répondu Vlad Preda 2015-01-15 17:32:31
php --ini

Pour le serveur-SAPIs utiliser phpinfo()

Voici un exemple de sortie:

bash-3.2# php --ini
Configuration File (php.ini) Path: /usr/local/php5/lib
Loaded Configuration File:         /usr/local/php5/lib/php.ini
Scan for additional .ini files in: /usr/local/php5/php.d
Additional .ini files parsed:      /usr/local/php5/php.d/10-extension_dir.ini,
/usr/local/php5/php.d/20-extension-opcache.ini,
/usr/local/php5/php.d/40-openssl.ini,
/usr/local/php5/php.d/50-extension-apcu.ini,
/usr/local/php5/php.d/50-extension-curl.ini,
/usr/local/php5/php.d/50-extension-gmp.ini,
/usr/local/php5/php.d/50-extension-imap.ini,
/usr/local/php5/php.d/50-extension-intl.ini,
/usr/local/php5/php.d/50-extension-mcrypt.ini,
/usr/local/php5/php.d/50-extension-mssql.ini,
/usr/local/php5/php.d/50-extension-pdo_pgsql.ini,
/usr/local/php5/php.d/50-extension-pgsql.ini,
/usr/local/php5/php.d/50-extension-propro.ini,
/usr/local/php5/php.d/50-extension-raphf.ini,
/usr/local/php5/php.d/50-extension-readline.ini,
/usr/local/php5/php.d/50-extension-xdebug.ini,
/usr/local/php5/php.d/50-extension-xsl.ini,
/usr/local/php5/php.d/60-extension-pecl_http.ini,
/usr/local/php5/php.d/99-liip-developer.ini
61
répondu KingCrunch 2016-07-07 03:32:42

notez que la configuration chargée pour PHP quand il est utilisé sur la console est différente de la configuration pour le processus web. La plupart des installations PHP seraient fournies avec un php.ini pour apache et un autre pour CLI.

Pour savoir quel fichier de configuration est utilisé pour les commandes de la console, utiliser

$ php -i | grep "Configuration File"

pour savoir quel fichier de configuration est utilisé pour les processus web, suivez ces étapes

  1. créer un fichier info [de préférence à la racine dossier]
  2. Le contenu de ce fichier doit être <?php phpinfo(); ?>
  3. Ctrl+F et rechercher "fichier de Configuration"
7
répondu iGbanam 2018-09-28 07:29:22

Vous devez utiliser la méthode php php_ini_loaded_file (seulement après php 5.2.4)

php_ini_loaded_file-récupérez un chemin vers le php chargé.fichier ini

site web php exemple:

<?php
$inipath = php_ini_loaded_file();

if ($inipath) {
    echo 'Loaded php.ini: ' . $inipath;
} else {
    echo 'A php.ini file is not loaded';
}
?>

Source: php site

5
répondu darkheir 2013-01-28 08:30:40

créez une page simple et elle y sera listée!

<?php

phpinfo();

?>
2
répondu Lee Armstrong 2013-01-28 08:30:50

il suffit de mettre un fichier comme ceci:

<?php
phpinfo();
?>

alors cherchez

Loaded Configuration File

vous verrez le chemin complet pour php.fichier ini

2
répondu Vahid Farahmand 2013-01-28 08:30:58