Je viens d'acheter un nouveau MacBook Pro. Examinez ce que php -i | grep ini
renvoie:
Prompt> php -i | grep ini
Configuration File (php.ini) Path => /etc
Scan this dir for additional .ini files => (none)
Additional .ini files parsed => (none)
user_ini.cache_ttl => 300 => 300
user_ini.filename => .user.ini => .user.ini
Supported handlers => ndbm cdb cdb_make inifile flatfile
init_command_executed_count => 0
init_command_failed_count => 0
com_init_db => 0
Classes => AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException
open sourced by => Epinions.com
Et voici ce qui se passe quand je lance php --ini
Prompt> $ php --ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File: (none)
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
Il semble que php courant ne charge aucun fichier php.ini. C'est possible?
Les versions actuelles de Mac OS X ne sont pas livrées avec un php.ini
. PHP utilise les valeurs internes par défaut pour tous les paramètres.
Un exemple de fichier de configuration est installé à /etc/php.ini.default
. Si vous devez personnaliser les paramètres PHP, vous pouvez utiliser ce fichier en tant que modèle pour créer un fichier de configuration à /etc/php.ini
. PHP lira les paramètres de ce fichier s'il est présent.
Edit: La méthode suivante a été testée et je confirme que cela fonctionne sur les systèmes CMD et Bash de macOS, Linux et Windows.
Tout ce que vous avez besoin de taper dans le terminal/CMD/Bash est
php --ini
Cela rendra quelque chose comme:
Configuration File (php.ini) Path: /usr/local/etc/php/5.6
Loaded Configuration File: /usr/local/etc/php/5.6/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.6/conf.d
Additional .ini files parsed: (none)
Il existe une fonction PHP appelée php_ini_loaded_file () qui renvoie le chemin du fichier php.ini chargé.
Essayez le code ci-dessous.
<?php
$inipath = php_ini_loaded_file();
if ($inipath) {
echo 'Loaded php.ini: ' . $inipath;
} else {
echo 'A php.ini file is not loaded';
}
?>
Vous pouvez utiliser la commande find
pour rechercher dans le système de fichiers le fichier php.ini ou toute autre fonction. Cela peut prendre beaucoup de temps pour le trouver, en fonction de la taille de votre système de fichiers. Si vous voulez que la recherche cesse, vous pouvez faire CTRL-C
.
find / -type f -name php.ini
Si vous n'êtes pas root, vous obtiendrez des messages de permission refusée. Si vous voulez que vous soyez en tant que root, vous pouvez le faire.
Sudo find / -type f -name php.ini
Voici un tutoriel pour trouver si vous êtes intéressé par d'autres exemples.
http://www.tecmint.com/35-exemples-pratique-de-linux-find-command/
php -r "echo php_ini_loaded_file();"
sur ma machine retourne:
/usr/local/etc/php/7.1/php.ini
;)
le plus souvent, le fichier .ini
n'existe pas tel quel, mais il s'appelle .ini.default
dans le /etc
.