linux — php 7 —with-config-file-scan-dir не работает

ОС: Debian 8.6 amd64, PHP 7.0.13 source (tar.gz) скачали с php.net, проверили md5 и sha256.

Пытаться --with-config-file-scan-dir установлен в /etc/php7/cli/conf.d или же /etc/php7/cli/conf.d/ до сих пор не работает.

root@debian:/usr/src/php-7.0.13#./configure \
--prefix=/usr/local/php7 \
--with-config-file-path=/etc/php7/cli \
--with-config-file-scan-dir=/etc/php7/cli/conf.d/ \
--disable-all \
--enable-json=shared

root@debian:/usr/src/php-7.0.13# /usr/local/php7/bin/php --ini
Configuration File (php.ini) Path: /etc/php7/cli
Loaded Configuration File:         /etc/php7/cli/php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

В /usr/src/php-7.0.13/main/build-defs.h подать последнюю, но одну строку, PHP_CONFIG_FILE_SCAN_DIR константа была определена, но все еще не работает.

#define PHP_CONFIG_FILE_SCAN_DIR    "/etc/php7/cli/conf.d/"

Если экспортировать PHP_INI_SCAN_DIR переменная окружения, это работает.

root@debian:/usr/src/php-7.0.13# export PHP_INI_SCAN_DIR=/etc/php7/cli/conf.d/
root@debian:/usr/src/php-7.0.13# /usr/local/php7/bin/php --ini
Configuration File (php.ini) Path: /etc/php7/cli
Loaded Configuration File:         /etc/php7/cli/php.ini
Scan for additional .ini files in: /etc/php7/cli/conf.d/
Additional .ini files parsed:      /etc/php7/cli/conf.d/json.ini

Обновить

Когда 1-й корпус, я забываю настройки --with-config-file-path а также --with-config-file-scan-dirтак я использовал export PHP_INI_SCAN_DIR=/etc/php7/cli/conf.d/ и это работает.

Так что я удаляю его и снова строю, Но я использовал export PHP_INI_SCAN_DIR= НЕ unset, Итак, во 2-м корпусе PHP_INI_SCAN_DIR Переменная env все еще работает, и она пуста.

Правильный путь

unset PHP_INI_SCAN_DIR

2

Решение

Вы должны убедиться, что PHP_INI_SCAN_DIR не является нулевым в среде, если он будет использоваться:

krakjoe@fiji:/usr/src/php-src$ export PHP_INI_SCAN_DIR=
krakjoe@fiji:/usr/src/php-src$ php --ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File:         /etc/php-cli.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

krakjoe@fiji:/usr/src/php-src$ export PHP_INI_SCAN_DIR=/etc/php.d
krakjoe@fiji:/usr/src/php-src$ php --ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File:         /etc/php-cli.ini
Scan for additional .ini files in: /etc/php.d

Обратите внимание, что при первом исполнении появляются те же симптомы, которые вы видите.

0

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

Других решений пока нет …