114

PHP スクリプトを実行すると、次のエラーが発生します。

PHP 警告: PHP の起動: 動的ライブラリ '/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: 共有オブジェクト ファイルを開けません: 行 0 の不明にそのようなファイルまたはディレクトリはありません

どういう意味ですか?

4

20 に答える 20

59

これは、その拡張機能をロードしようとしているphp 構成ファイル(php.ini またはそれに近い別のextension=...ファイル) の 1 つにor行があることを意味します。zend_extension=...ixed.5.2.lin

残念ながら、そのファイルまたはパスが存在しないか、権限が正しくありません。

  1. .iniPHP によってロードされたファイルを検索してみてください(phpinfo()どのファイルかを示すことができます) - そのうちの 1 つがその拡張機能をロードしようとする必要があります。
  2. ファイルへのパスを修正するか、対応する行をコメントアウトしてください。
于 2011-03-12T11:45:49.067 に答える
45

Linux を使用している場合は、シェルで次のように入力すると、読み込まれたすべての構成ファイルを見つけることができます。

php -r "print phpinfo();" | grep ".ini"

更新:コメントで述べたように、これはさらに正確になる可能性があります:

php -i | grep ini
于 2014-03-06T22:07:48.553 に答える
23

XAMPPを使用したphpStom

TL;DR ファイルが存在することを確認する以外に、php.ini ファイルの一部のレコードにドライブ文字を追加する必要がある場合があります。

xamppとxdebugを使用してphpをデバッグするためにphpStorm 7を使用すると、突然問題が発生し始めました。intellij interperter を xampps php に設定しようとすると、質問のような多くの警告が表示されました。たとえば、次のようになります。

動的ライブラリ '/xampp/php/ext/php_bz2.dll' を読み込めません

何らかの理由で、ドライブ文字を php.ini ファイルの extension_dir と browscap のレコードに追加する必要がありました。

extension_dir = "\xampp\php\ext"
browscap = "\xampp\php\extras\browscap.ini"

extension_dir = "e:\xampp\php\ext"
browscap = "e:\xampp\php\extras\browscap.ini"
于 2015-09-25T18:47:00.357 に答える
3

Note that you can also get this error if your PHP library doesn't have the "other" directory opening permission. In my particular case, I noticed this when using php -l to syntax check a script in my text editor. This meant that since my account was called "volomike", that account didn't have permission to run the libraries that the php command relied upon.

For instance, on Ubuntu 14.04, I had PHP5 installed automatically into the path /usr/lib/php5/20121212+lfs. However, because I was working in C++ in building some shared objects, I messed around with the directory permissions and screwed things up such that non-root accounts did not have the directory execute (directory open) permissions to view /usr/lib/php5/20121212+lfs. So, I typed the following command to rectify that problem:

sudo chmod o+x /usr/lib/php5/20121212+lfs.

Now when I do php -l example.php as a non-root user, it never gives me this "Unabled to load dynamic library" problem anymore.

于 2016-04-26T04:56:43.123 に答える
2

サーバー上で異なるバージョンの PHP を並べて実行していたときに、多くのモジュールでこのエラーが発生しました。これを整理するために、特定の PHP バージョンで見つからなかったパッケージをインストールする必要がありました。たとえば、私が見た場合:-

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/xml.so'

具体的には、PHP バージョンのライブラリをインストールします。

sudo apt-get install php7.1-xml

そしてApacheを再起動します。私のためにそれを修正しました。次のようにバージョンを確認できます:-

php -v
于 2018-10-17T08:12:50.967 に答える
2

composerをインストールしようとすると、XAMPP for Windows10でも同じ問題が発生しました。

動的ライブラリ '/xampp/php/ext/php_bz2.dll' を読み込めません

次に、この手順に従ってください

  1. texteditor (notepad++ など) で current_xampp_containing_drive:\xampp(default_xampp_folder)\php\php.ini を開くだけです。
  2. 今すぐ見つけてください - current_xampp_containing_drive:\xampp は存在しますか?
  3. そうでない場合は、「extension_dir」を見つけて、ドライブ名(c、dまたは目的のドライブ)を取得します。

extension_dir="F:\xampp731\php\ext" (ここで found_drive_name_from_the_file は F です)

  1. 再度、founded_drive_name_from_the_file:\xampp を current_xampp_containing_drive:\xampp に置き換えて保存します。
  2. 今度は再び作曲家のインストールの進行状況を開始します。問題は解決されると思います。
于 2020-01-31T10:21:54.873 に答える
0

C:\xampp\php\php.exe から取得しました

  • 動的ライブラリ '' をロードできません
  • C:\xampp\php\ext\php_.dll (指定されたモジュールが見つかりませんでした。)


C:\xampp\php\php.ini ;extension=をコメントアウトして解決しました

于 2020-10-16T07:08:18.737 に答える