Где ini файлы на MacOsX Sierra?

Я только что купил новый MacBook Pro. Посмотрите на что php -i | grep ini возвращает:

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

И это то, что происходит, когда я бегу 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)

Кажется, что текущий php не загружает файл php.ini. Является ли это возможным?

16

Решение

Текущие версии Mac OS X не поставляются с php.ini, PHP использует внутренние настройки по умолчанию для всех настроек.

Пример файла конфигурации установлен на /etc/php.ini.default, Если вам нужно настроить параметры PHP, вы можете использовать этот файл в качестве шаблона для создания файла конфигурации в /etc/php.ini, PHP будет читать настройки из этого файла, если он присутствует.

46

Другие решения

Изменить: следующий метод был протестирован, и я подтверждаю, что он работает на MacOS, Linux и Windows CMD и Bash

Все что вам нужно набрать в терминале / CMD / Bash это

php --ini

Это сделает что-то вроде:

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)
16

Существует PHP-функция php_ini_loaded_file (), которая возвращает путь к загруженному php.ini.

Попробуйте код ниже.

<?php
$inipath = php_ini_loaded_file();

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

Вы можете использовать find команда для поиска в файловой системе php.ini или чего-либо еще. Это может занять много времени, в зависимости от размера вашей файловой системы. Если вы хотите, чтобы он прекратил поиск, вы можете сделать CTRL-C,

find / -type f -name php.ini

Если вы не являетесь пользователем root, вы получите некоторые сообщения об отказе в разрешении, если вы хотите работать от имени пользователя root, вы можете сделать это.

sudo find / -type f -name php.ini

Вот учебник для поиска, если вы заинтересованы в некоторых других примерах.

http://www.tecmint.com/35-practical-examples-of-linux-find-command/

2
php -r "echo php_ini_loaded_file();"

на моей машине возвращается:

/usr/local/etc/php/7.1/php.ini

😉

2

Это работало для меня в MacOS Sierra с установленным PHP 7.1:

  1. Создайте php-файл с именем phpinfo_temp.php (не забудьте удалить этот файл, когда закончите):

    <?php phpinfo(); ?>

  2. Загрузите файл, и вы заметите около 7 переменных: «Загруженный файл конфигурации:». Это загруженный файл php.

  3. Сделайте резервную копию файла php.ini перед редактированием:

    sudo cp /usr/local/php5/lib/php.ini /usr/local/php5/lib/php.ini.backup

  4. Затем отредактируйте php.ini

    sudo nano /usr/local/php5/lib/php.ini

  5. Как только вы закончите редактирование, перезапустите сервер Apache

    sudo apachectl restart

1
По вопросам рекламы [email protected]