Мне нужно включить pdo_mysql в моей среде EasyPhp, поэтому я пошел в файл php.ini и раскомментировал следующую строку:
extension=php_pdo_mysql.dll
К сожалению, у меня все еще есть та же проблема. Я использую CLI, поэтому я полагаю, что мне нужно найти файл php.ini, используемый CLI. Как я могу найти это?
Ответы:
Просто запустите
php --ini
и ищитеLoaded Configuration File
в выходных данных местоположениеphp.ini
используемого вашим CLIисточник
sudo find / -iname php.ini
и он находит/etc/php/7.0/apache2/php.ini
правильное место правильного файла конфигурации php.ini моей машины, который не был найденphp --ini
илиphp -i | grep php.ini
(оба найдены/etc/php/7.0/cli/php.ini
)Вы можете получить полное
phpinfo()
использование:И там есть используемый
php.ini
файл:В Windows используйте
find
вместо:источник
Configuration File
Линия phpinfo () показывает последнее место , где PHP выглядел для INI - файлов. Это может быть либо место, где был найден такой файл, либо последний параметр, который в Windows выглядит как% SYSTEMROOT%.php -i | find "Configuration file"
должен работать в Windows. Определенно, не такой мощный, как grep, ноfind
сделает основной поиск строки для вас. Конечно, если php -i выводит свой вывод в stderr, вы, вероятно, SOL.find
по умолчанию чувствителен к регистру, поэтому он должен быть совершенным (php -i | find "Configuration File"
) или нечувствительным к регистру (php -i | find /i "Configuration file"
- отметьте/i
флаг).php --ini
в качестве альтернативы; доступно с PHP 5.2.3 :)Для этого вы можете использовать get_cfg_var ('cfg_file_path') :
В отличие от phpinfo () он скажет, если он вообще не нашел / не использовал php.ini.И вы можете просто установить местоположение php.ini . Вы используете версию командной строки, поэтому с помощью
-c
параметра вы можете указать местоположение, напримеристочник
Запустите
php --ini
в своем терминале, вы получите всю информацию об INI-файлахДля получения дополнительной информации используйте команду справки.
php --help
Она отобразит все возможные варианты.источник
Иногда вещи не всегда такие, какими кажутся, когда дело доходит до файлов конфигурации в целом. Поэтому здесь я применяю свои обычные методы для изучения того, какие файлы открываются процессом.
Я использую очень мощную и полезную программу командной строки под названием strace, чтобы показать мне, что на самом деле происходит за моей спиной!
Strace обрабатывает вызовы ядра (системы), которые выполняет ваша программа, и выводит выходные данные в файл, указанный в -o
Grep легко использовать для поиска вхождений php.ini в этом журнале. Это довольно очевидно, глядя на следующий типичный ответ, чтобы увидеть, что происходит.
источник
php -i
дал мне неверные результаты, но этот прекрасно. Спасибо!Если вы хотите, чтобы все файлы конфигурации были загружены, это скажет вам:
Некоторые системы загружают вещи из более чем одного файла INI. В моей системе Ubuntu это выглядит так:
источник
На OSX Mavericks, работает:
Возвращается:
В
/etc/
каталоге было:(а также
php-fpm.conf.default
)Я был в состоянии скопировать
php.ini.default
вphp.ini
, добавитьdate.timezone = "US/Central"
в верхней части (справа внизу[php]
), и проблема решена.(По крайней мере, сообщение об ошибке исчезло.)
источник
Если вам нужно передать его в другое приложение, вы можете сделать что-то вроде:
возвращает только путь.
php -c $(php --ini | grep Loaded | cut -d" " -f12)
перейдет в файл конфигурации (полезно дляfpm
)источник
Из того, что я помню , когда я имел обыкновение использовать EasyPHP, файл php.ini либо в
C:\Windows\
илиC:\Windows\System32
источник
Делать
Это выведет все файлы с именами
php.ini
.Узнайте, какой вы используете, обычно
apache2/php.ini
источник
В вашем файле php.ini установите каталог расширения, например:
Вы увидите, что в вашей папке PHP есть папка ext со всеми DLL и расширениями.
источник
Сохраните вывод CLI phpinfo в локальный файл:
источник
В докере контейнера phpmyadmin / phpmyadmin нет файла php.ini. Но есть два файла: php.ini-debug и php.ini-production
Чтобы решить эту проблему, просто переименуйте один из файлов в php.ini и перезапустите Docker-контейнер.
источник
В командной строке не используется php.ini. Вы должны скопировать файл из
...EasyPHP-<<version>>\apache\php.ini
в...EasyPHP-<<version>>\php\php.ini
чем редактировать один в PHP каталогСсылка:
источник