Estou compilando php e sua configuração de diretório de módulos para / usr / lib64 / 20090626-zts
Gostaria de mudar isso para / usr / lib64 / php / modules, mas não consigo encontrar uma opção de configuração para fazer isso.
Posso alterá-lo no meu php.ini e mover o diretório, mas quando executo o phpize e faço um novo módulo, ele ainda o coloca em / usr / lib64 / 20090626-zts
EXTENSION_DIR=/usr/lib64/php/modules phpize
.Respostas:
Eu sugeriria que o / usr / lib64 / php / modules fizesse um link simbólico para a pasta com o ID. Isso evita misturar extensões de diferentes versões do PHP a longo prazo.
Além disso: você deve poder defini-lo definindo
EXTENSION_DIR
como variável de ambiente antes de executar o configure do PHP. algo comofonte
Verifique o diretório de extensão atual com:
e você pode alterá-lo, definindo
extension_dir
emphp.ini
:Não se esqueça de reiniciar o Apache.
fonte
Meu problema não era idêntico, mas como essa foi a primeira a aparecer com respostas que foram muito úteis, adicionarei meus comentários.
Eu estava tendo problemas para que o PHP (no Centos7 executando em um contêiner de docker) usasse o MySQL devido à configuração do diretório - embora eu estivesse usando binários pré-criados e não compilando nada. Embora os vários módulos pdo e mysqlnd.so e arquivos .ini tenham sido instalados no meu contêiner (apenas usando o padrão
yum install php72
e todos os outros itens especificados no assistente de instalação do PHP ), eles não estavam nos locais padrão que o PHP os procurava. Eu não tenho ideia do porquê. Talvez seja algum tipo de coisa de estivador?De qualquer forma, para resolver o problema, tive que repetir uma
extension_dir
diretiva como minhaPHP.ini
e TAMBÉM definir aPHP_INI_SCAN_DIR
variável env. Estes são os comandos relevantes do meu DockerfileEspero que isso não resulte em conflitos de módulos mais tarde, como o @johanes avisa.
fonte
yum update
. Estou faltando alguma coisa aqui?.../remi/...
pastas?