Назад | Перейти на главную страницу

Почему мои настройки php в CLI и Apache отличаются?

В настоящее время я настраиваю новый сервер Mac Mini Lion. Я сейчас устанавливаю расширение mongodb и apc. Я хочу включить настройки ini для расширений в каталог /etc/php.d (аналогично настройкам моего сервера в CentOS)

Я пытался сделать

php -i | grep php.d

и это дает мне

Scan this dir for additional .ini files => /etc/php.d/
Additional .ini files parsed => /etc/php.d/apc.ini,
/etc/php.d/mongo.ini
PHP_INI_SCAN_DIR => /etc/php.d/
_SERVER["PHP_INI_SCAN_DIR"] => /etc/php.d/

Но когда я попробовал phpinfo () на php-скрипте, я получил:

Configuration File (php.ini) Path   /etc
Loaded Configuration File   /private/etc/php.ini
Scan this dir for additional .ini files     (none)
Additional .ini files parsed    (none) 

Среда php в CLI и скрипте php такая же, как у php

/ usr / bin / php

и на странице скрипта php

ПУТЬ / usr / bin: / bin: / usr / sbin: / sbin

Что я должен установить на стороне apache?

Я думаю придерживаться встроенного apache и php из установки Mac, потому что мне нравится серверное приложение из Mac.

Похоже, PHP CLI использует /etc/php.ini файл, проверьте с помощью:

php -i | grep 'Configuration File'

Пока Apache загружает /private/etc/php.ini файл:

Configuration File (php.ini) Path   /etc
Loaded Configuration File   /private/etc/php.ini

Укажите вправо php.ini файл, который вы хотите PHPINIDir директива.


РЕДАКТИРОВАТЬ

Не знаю почему phpinfo() игнорируйте дополнительные файлы .ini, но сканирование можно принудительно выполнить двумя способами:

  1. вставьте следующую строку перед запуском Apache в сценарии инициализации

    export PHP_INI_SCAN_DIR=/etc/php.d
    
  2. добавьте в файл конфигурации Apache следующее:

    php_value include_path "/etc/php.d"