Podemos ter 2 'extension_dir' no php.ini?

3

Quando instalei pdo-pgsql, a extensão foi instalada em /usr/lib/php/extensions/no-debug-non-zts-20090626/ e, portanto, não foi carregada automaticamente. Em php.ini , tenho extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20090626" já definido.

Snippet de php.ini

; Directory in which the loadable extensions (modules) reside.
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20090626"
zend_extension = "/usr/local/IonCube/ioncube_loader_lin_5.3.so"
zend_extension = "/usr/local/Zend/lib/Guard-5.5.0/php-5.3.x/ZendGuardLoader.so"
extension = "eaccelerator.so"
extension = "pdo.so"
extension = "pdo_pgsql.so"
extension = "pdo_sqlite.so"
extension = "sqlite.so"
extension = "pdo_mysql.so"

Modificado para funcionar

; Directory in which the loadable extensions (modules) reside.
extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20090626"
extension_dir = "/usr/lib/php/extensions/no-debug-non-zts-20090626"
zend_extension = "/usr/local/IonCube/ioncube_loader_lin_5.3.so"
zend_extension = "/usr/local/Zend/lib/Guard-5.5.0/php-5.3.x/ZendGuardLoader.so"
extension = "eaccelerator.so"
extension = "pdo.so"
extension = "pdo_pgsql.so"
extension = "pdo_sqlite.so"
extension = "sqlite.so"
extension = "pdo_mysql.so"
  1. Por que o PECL instalou o pdo-pgsql no diretório da segunda extensão e não no primeiro?

  2. É recomendado ter 2 extension_dir , conforme mostrado no segundo snippet de código acima?

por Nyxynyx 13.09.2012 / 05:34

1 resposta

7
  1. Porque é o local padrão ao instalar via pecl install , enquanto que se você compilar o PHP a partir da fonte, o caminho da extensão deve ser /usr/local/lib/php/extensions/no-debug-non-zts-20090626 .

  2. Até onde sei, o PHP não suporta múltiplos extension_dir , Escolha apenas o último. Basta digitar php -i | grep eaccelerator para ver o que acontece.

A solução alternativa é copiar as extensões para o caminho certo.

    
por 13.09.2012 / 06:07