Estoy compilando php, y está configurando mi directorio de módulos a / usr / lib64 / 20090626-zts
Me gustaría cambiar esto a / usr / lib64 / php / modules, pero no puedo encontrar una opción de configuración para hacerlo.
Puedo cambiarlo en mi php.ini y mover el directorio, pero cuando ejecuto phpize y hago un nuevo módulo, todavía lo coloca en / usr / lib64 / 20090626-zts
EXTENSION_DIR=/usr/lib64/php/modules phpize
.Respuestas:
Sugeriría hacer / usr / lib64 / php / modules un enlace simbólico a la carpeta con la ID. Esto evita mezclar extensiones de diferentes versiones de PHP a largo plazo.
Además de eso: debe poder establecerlo estableciendo
EXTENSION_DIR
como variable de entorno antes de ejecutar la configuración de PHP. algo comofuente
Verifique el directorio de extensiones actual con:
y se puede cambiar mediante el establecimiento
extension_dir
dephp.ini
:No olvides reiniciar Apache.
fuente
Mi problema no fue idéntico, pero dado que esta pregunta fue la primera en aparecer con respuestas que finalmente fueron muy útiles, agregaré mis comentarios.
Estaba teniendo problemas para hacer que PHP (bajo Centos7 ejecutándose en un contenedor docker) usara MySQL debido a la configuración del directorio, aunque estaba usando binarios precompilados y no estaba compilando nada. Aunque los diversos módulos pdo y mysqlnd.so y los archivos .ini se instalaron en mi contenedor (solo usando el estándar
yum install php72
y todas las demás cosas especificadas en el asistente de instalación de PHP ), no estaban en los lugares predeterminados que PHP los estaba buscando. No tengo ni idea de porqué. Tal vez es una especie de estibador?De todos modos, para resolver el problema, tuve que hacer eco de una
extension_dir
directiva para míPHP.ini
y TAMBIÉN configuré laPHP_INI_SCAN_DIR
variable env. Estos son los comandos relevantes de mi DockerfileEspero que esto no resulte en conflictos de módulos más adelante, como advierte @johanes.
fuente
yum update
. ¿Me estoy perdiendo de algo?.../remi/...
carpetas?