Je lance un script PHP et j'obtiens cette erreur:
Avertissement PHP: PHP Démarrage: impossible de charger la bibliothèque dynamique '/usr/local/lib/php/extensions/no-debug-non-zts-20090626/ixed.5.2.lin' -/usr/local/lib /php/extensions/no-debug-non-zts-20090626/ixed.5.2.lin: impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type dans Unknown sur la ligne 0
Qu'est-ce que ça veut dire?
Cela signifie qu'il y a une ligne extension=...
ou zend_extension=...
dans l'un de vos fichiers de configuration php (php.ini, ou un autre fichier proche de celui-ci) qui tente de charger cette extension: ixed.5.2.lin
Malheureusement, ce fichier ou chemin n'existe pas ou les autorisations sont incorrectes.
.ini
chargés par PHP (phpinfo()
peut indiquer ceux qui le sont). L’un d’entre eux devrait essayer de charger cette extension.Si vous êtes sous Linux, vous pouvez trouver tous les fichiers de configuration chargés en tapant ceci dans Shell:
php -r "print phpinfo();" | grep ".ini"
UPDATE: Comme mentionné dans les commentaires, cela peut être encore plus précis:
php -i | grep ini
Si vous voulez juste faire disparaître l'erreur et que vous n'avez pas besoin de l'extension, alors commentez certainement la ligne dans php.ini
. Mais si vous voulez réellement résoudre le problème, voici quelques informations supplémentaires.
Cela dépend du module exact, mais il existe également des directives générales.
phpinfo()
et recherchez extension_dir
dans la section Core
. C'est ici que vos modules devraient être situés.Par exemple,
/usr/lib/php/modules
pour Unix/Linux.
Installation sur * nix (PEAR)
Installation des extensions sous Windows
phpStom avec XAMPP
TL; DR Hormis pour vérifier que les fichiers existent, vous devrez peut-être ajouter la lettre de lecteur à certains enregistrements de votre fichier php.ini
J'ai soudainement commencé à avoir un problème d'utilisation de phpStorm 7 pour le débogage de php avec xampp et xdebug. En essayant de définir intellij interperter sur xampps php, j'ai eu beaucoup d'avertissements comme celui de la question, par exemple:
Impossible de charger la bibliothèque dynamique '/xampp/php/ext/php_bz2.dll'
Pour une raison quelconque, j'ai dû ajouter ma lettre de lecteur aux enregistrements d'extension_dir et browscap dans le fichier php.ini:
extension_dir = "\xampp\php\ext"
browscap = "\xampp\php\extras\browscap.ini"
à
extension_dir = "e:\xampp\php\ext"
browscap = "e:\xampp\php\extras\browscap.ini"
Notez que vous pouvez également obtenir cette erreur si votre bibliothèque PHP ne dispose pas de l'autorisation "autre" pour ouvrir un répertoire. Dans mon cas particulier, je l’ai remarqué lors de l’utilisation de php -l
pour vérifier la syntaxe d’un script dans mon éditeur de texte. Cela signifiait que, puisque mon compte s'appelait «volomike», ce compte n'était pas autorisé à exécuter les bibliothèques sur lesquelles s'appuyait la commande php
.
Par exemple, sur Ubuntu 14.04, PHP5 était installé automatiquement dans le chemin /usr/lib/php5/20121212+lfs
. Cependant, comme je travaillais en C++ pour créer des objets partagés, j'ai manipulé les autorisations de répertoire et j'ai tout gâché de sorte que les comptes non root ne disposent pas des autorisations d'exécution de répertoire (répertoire ouvert) pour afficher /usr/lib/php5/20121212+lfs
. J'ai donc tapé la commande suivante pour rectifier ce problème:
Sudo chmod o+x /usr/lib/php5/20121212+lfs
.
Maintenant, lorsque je fais php -l example.php
en tant qu'utilisateur non root, le problème "Impossible de charger la bibliothèque dynamique" ne me est plus jamais attribué.
J'ai rencontré ce message d'avertissement lorsque j'essayais d'installer un fichierphp-extensionvia le fichierphp.ini;
jusqu'à ce que je sache que vous ne pouvez pas charger.dllextensions dans Linux,
mais vous devez commenter les extensions que vous souhaitez importer ;extension= ... .dll
et l'installer correctement via Sudo apt-get install php-...
note: ...
est le nom de l'extension que vous souhaitez activer.
J'ai eu le même problème sur XAMPP pour Windows lorsque j'essayais d'installer composer .J'ai fait php -v
et une erreur de projection php:
Impossible de charger la bibliothèque dynamique '/xampp/php/ext/php_bz2.dll'
Il m'a fallu un certain temps avant de réaliser que je devais configurer mon XAMPP. Donc, je lance setup_xampp.bat
et php return to fonctionne comme un charme.
Après Windows 10 XAMPP
, j'ai installé LAMPP (XAMPP)
sur Ubuntu. Windows XAMPP
avait beaucoup moins de choses à configurer que MAC (iOS), mais maintenant, avec Linux Ubuntu, j'en avais un peu plus car il y en a plus dans Linux (une bonne chose).
J'ai confondu et activé mysqli.dll
(et mysql.dll: effacez "#" dans /etc/php/7.2/cli/php.ini
J'ai commencé à recevoir le message PHP Warning: PHP Startup: Unable to load dynamic library
relatif à dll
. J'ai commenté mysql(and i).dll
dans le même fichier, mais le message n'a pas disparu tant que je n'ai pas commenté "" dans /opt/lampp/etc/php.ini
.
On dirait que XAMPP lit le fichier php.ini
à partir de /etc/php/7.2/cli
et effectue les modifications dans php.ini
sur /opt/lampp/etc
. (; extension = php_pdo_mysql.dll après ";" redémarré Apache et plus aucun message.
J'ai eu cette erreur sur un certain nombre de modules alors que j'utilisais différentes versions de PHP côte à côte sur mon serveur. Pour résoudre ce problème, j’avais besoin d’installer les paquets qu’il ne trouvait pas pour cette version spécifique PHP. Donc, par exemple, si je voyais: -
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/xml.so'
Je voudrais installer la bibliothèque pour la version PHP = spécifiquement: -
Sudo apt-get install php7.1-xml
Et puis redémarrez Apache. Corrigé pour moi. Vous pouvez vérifier votre version comme ceci: -
php -v
J'ai rencontré une erreur similaire. L'erreur que j'ai faite est d'utiliser le nom du "contrôleur" comme "Pages" au lieu de "pages" dans mon URL.