Конфигурация php.ini в MAC OSX

У меня возникла странная проблема с файлом php.ini в php.ini для mac osx. Я создал файл phpinfo. Вызов его в браузере показывает настройки php с помощью

* * Файл конфигурации (php.ini) Путь:/etc

Загруженный файл конфигурации:/private/etc/php.ini **

Однако при редактировании файла php.ini в этом месте (и, конечно же, перезапуске Apache) изменения не отражаются в настройках php, а также в файле phpinfo. например: изменение десятичных цифр bcmath, изменение настроек часового пояса и т.д. Есть ли еще одно основное место, откуда Apache будет забирать файл настроек. Любая помощь будет высоко оценен.

3 ответа

Это старый пост, но у меня была эта проблема, и я пробовал Интернет безрезультатно, поэтому я здесь отвечаю за потомство.

Я использую собственный Mac OSX apache2 с отрывки из homebrew от josegonzales.

Чтобы процитировать моего друга-sysadmin, "ответ должен заключаться в перезапуске PHP-FPM вместо Apache. Apache использует mod_fastcgi для подключения к PHP через порт или сокет, который PHP-FPM запускает php с помощью."

Вам нужно загрузить/выгрузить файл plist, связанный с установкой PHP-FPM. Первая проверка ~/Library/LaunchAgents Нет? Мой был здесь:   /usr/local/Cellar/php53/5.3.26/homebrew-php.josegonzalez.php53.plist

Он перезагрузился следующим образом:   launchctl unload -w /usr/local/Cellar/php53/5.3.26/homebrew-php.josegonzalez.php53.plist && launchctl load -w /usr/local/Cellar/php53/5.3.26/homebrew-php.josegonzalez.php53.plist;

Я добавил следующее в свой файл ~/.bash_profile, чтобы перезапустить PHP-FPM при перезапуске apache. Команда для вызова следующего: "apachectlrestart"

function apachectlrestart () { sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist && sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist && launchctl unload -w /usr/local/Cellar/php53/5.3.26/homebrew-php.josegonzalez.php53.plist && launchctl load -w /usr/local/Cellar/php53/5.3.26/homebrew-php.josegonzalez.php53.plist;}


Glassdimly answer помог мне решить эту проблему.

Проблема:

  • 'Loaded configuration file' показывает '/usr/local/etc/php/7.0/php.ini' в phpinfo() вывод, а мой модуль (imagick) не загружается php.

  • Я попытался вручную включить мой модуль в основной файл php.ini и перезапустить apache, но 'Loaded configuration file' не обновлялся.

  • Я попытался убить все экземпляры apache и перезапустить apache - все равно.

  • Я попытался переименовать my php.ini в php.ini_ и перезапустил apache, но 'Loaded configuration file' все еще показывает старый php.ini файл.

Решение:

  • После прочтения Glassdimly выше, я проделал следующие шаги:

  • launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.php70.plist

  • launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php70.plist
  • И бум - это сработало!
  • Далее я установил функцию быстрого доступа внутри моего ~/.bash_profile:

    # restart php-fpm
    function restart_fpm(){
     plist=~/Library/LaunchAgents/homebrew.mxcl.php70.plist
     launchctl unload -w $plist
     launchctl load -w $plist
     echo "PHP 7 fpm restarted"
    }
  • source ~/.bash_profile загружает новую функцию в текущую оболочку

Надеюсь, это поможет отчаянному Гуглеру от будущего!


перезапуск сервера apache из панели служб будет отражать ваши новые изменения....

licensed under cc by-sa 3.0 with attribution.