Я компилирую php и устанавливаю каталог моих модулей в / usr / lib64 / 20090626-zts
Я хотел бы изменить это на / usr / lib64 / php / modules, но я не могу найти вариант конфигурации для этого.
Я могу изменить его в своем php.ini и переместить каталог, но когда я запускаю phpize и создаю новый модуль, он все равно помещает его в / usr / lib64 / 20090626-zts
EXTENSION_DIR=/usr/lib64/php/modules phpize
.Ответы:
Я бы предложил сделать / usr / lib64 / php / modules символической ссылкой на папку с идентификатором. Это предотвращает смешивание расширений из разных версий PHP в долгосрочной перспективе.
Кроме того: вы должны иметь возможность установить его, установив в
EXTENSION_DIR
качестве переменной среды перед запуском PHP configure. что-то вродеисточник
Проверьте текущий каталог расширений с помощью:
и вы можете изменить его, установив
extension_dir
вphp.ini
:Не забудьте перезапустить Apache.
источник
Моя проблема не была идентичной, но так как этот вопрос был первым, на котором появились ответы, которые в конечном итоге были очень полезны, я добавлю свои комментарии.
У меня были проблемы с получением PHP (под Centos7, работающим в док-контейнере) для использования MySQL из-за конфигурации каталога - хотя я использовал предварительно собранные двоичные файлы и ничего не компилировал. Хотя различные модули pdo и mysqlnd.so и файлы .ini были установлены в моем контейнере (только с использованием стандартных
yum install php72
и других компонентов, указанных в мастере установки PHP ), они не были в местах по умолчанию, которые их искал в PHP. Понятия не имею почему. Может это какая-то докерская штука?В любом случае, чтобы решить эту проблему, мне нужно было передать
extension_dir
директиву моемуPHP.ini
и ТАКЖЕ установитьPHP_INI_SCAN_DIR
переменную env. Это соответствующие команды из моего DockerfileЯ надеюсь, что это не приведет к конфликтам модулей в будущем, как предупреждает @johanes.
источник
yum update
. Я что-то здесь упускаю?.../remi/...
папки?