5 votes

Pouvons-nous avoir 2 'extension_dir' dans php.ini?

Lors de l'installation de pdo-pgsql, l'extension a été installée dans /usr/lib/php/extensions/no-debug-non-zts-20090626/ et n'a donc pas été chargée automatiquement. Dans php.ini, j'ai déjà défini extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20090626".

Extrait de php.ini

; Répertoire dans lequel se trouvent les extensions chargeables (modules).
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"

Modifications pour que ça fonctionne

; Répertoire dans lequel se trouvent les extensions chargeables (modules).
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. Pourquoi PECL a-t-il installé pdo-pgsql dans le 2ème répertoire d'extensions et non dans le premier?

  2. Est-il recommandé d'avoir 2 extension_dir comme indiqué dans le 2ème extrait de code ci-dessus?

8voto

quanta Points 49664
  1. Parce que c'est l'emplacement par défaut lors de l'installation via pecl install, alors que si vous compilez PHP à partir de la source, le chemin de l'extension devrait être /usr/local/lib/php/extensions/no-debug-non-zts-20090626.

  2. Autant que je sache, PHP ne prend pas en charge plusieurs extension_dir, il ne récupère que le dernier. Tapez simplement php -i | grep eaccelerator pour voir ce qui se passe.

La solution de contournement consiste à copier les extensions dans le bon chemin.

3 votes

Ou créer des liens symboliques...

0 votes

Est-ce ainsi que je devrais créer les liens symboliques? : ln -s /usr/lib/php/extensions/no-debug-non-zts-20090626 /usr/php/extensions/no-debug-non-zts-20090626

0 votes

Il devrait être: ln -s /usr/local/lib/php/extensions/no-debug-non-zts-20090626 /usr/lib/php/extensions/no-debug-non-zts-20090626. Mais renommez-le d'abord: mv /usr/lib/php/extensions/no-debug-non-zts-20090626 /usr/lib/php/extensions/no-debug-non-zts-20090626.bak.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X