Ce problème est compliqué, et je ne suis pas du tout un expert, alors soyez patient. Mon équipe d'administration serveur m'a installé avec une boîte RHEL standard. Il avait PHP préinstallé, ainsi que apache.
Je suis maintenant en train d'essayer d'installer Drupal 7 sur la machine, ce qui m'a alerté d'un problème:
Support de base de données désactivé
Votre serveur Web ne semble pas prendre en charge les extensions de base de données PDO communes. Vérifiez avec votre fournisseur d'hébergement s'ils prennent en charge PDO (PHP Data Objects) et offrent des bases de données prises en charge par Drupal.
En faisant des recherches sur ce sujet et en parlant à nos serveur, il est apparu que nous devions activer les extensions PDO dans le fichier php.ini. Super, dans /etc/php.ini, j'ai ajouté les lignes extension=pdo.so et extension=mysql_pdo.so.
Rien n'a changé, et j'ai plusieurs préoccupations. Lorsque nous recherchons le fichier pdo.so sur le serveur, il se trouve dans un répertoire modules
profond à l'intérieur de /usr/. Nous avons copié le chemin de ce répertoire dans le php.ini comme extension_dir=[ce chemin]
. Redémarrage d'apache, aucun changement.
Lorsque j'exécute php -version, je vois un message d'erreur indiquant qu'il ne peut pas charger la bibliothèque dynamique, mais il recherche la bibliothèque pdo.so dans le répertoire /usr/local/lib/php/extensions/some-strange-no-debug-non-zts-0330i504065/. Pas dans le répertoire que nous venons de définir comme "extensions_dir" dans le php.ini. Et dans la sortie phpinfo(), il répertorie le répertoire des extensions comme nous l'avons défini dans le php.ini.
Ensuite, dans la sortie phpinfo(), dans la section "Configure Command", le --disable-pdo
est présent.
Si je vérifie which php
, et puis y navigue, il y a un autre fichier dans ce répertoire appelé php-config. Ouvrez cela, et TA DA! Il y a une valeur "extension_dir" qui correspond au répertoire /some-strange-no-debug-non-zts-92ur9u92i/
qui a été mentionné auparavant.
Tout cela doit-il être recompilé avec les flags appropriés? Peut-il être corrigé dans php.ini? Si non, comment pourrions-nous même envisager de recompiler php s'il a été installé avec yum ou rpm?
MERCI!!!
MISE À JOUR 1
Je devrais dire, j'utilise les packages RHEL5 php53. J'ai déjà exécuté yum install php53-pdo. Si j'essaie d'exécuter yum install php-pdo (ou tout autre package php non php53), j'obtiens des erreurs de conflit entre php53-common et php-common, c'est pourquoi j'ai commencé à exécuter des packages php53 en premier lieu.