Answers:
这意味着您的一个php配置文件(php.ini或接近它的另一个)中有一个extension=...
或zend_extension=...
行试图加载该扩展名:ixed.5.2.lin
不幸的是,该文件或路径不存在或权限不正确。
.ini
PHP加载的文件(phpinfo()
可以指出是哪个文件)-其中之一应尝试加载该扩展名。如果您使用的是Linux,则可以在shell中键入以下内容来查找所有已加载的配置文件:
php -r "print phpinfo();" | grep ".ini"
更新:如评论中所述,这可能更加准确:
php -i | grep ini
php -i | grep ini
应该也可以正常工作(当您有命令参数时,无需打印phpinfo)
phpinfo()
但未列出任何有问题的ini文件。php -i | grep ini
按照YorickH的建议为我工作。这将列出为CLI加载的库,事实证明导致警告的ini文件在我的情况下位于CLI目录下。
php --ini
列出所有ini文件
如果您只是想使错误消失,并且不需要扩展名,请务必在中注释掉该行php.ini
。但是,如果您实际上要解决此问题,则这里有一些其他信息。
基于确切的模块,有多种原因,但也有一些通用准则。
phpinfo()
并extension_dir
在该Core
部分下查找。这是您模块所在的位置。例如,
/usr/lib/php/modules
对于Unix / Linux。
perl install <module>
我Can't open perl script "install": File or Directory not found
docker-php-ext-install <package>
XAMPP的phpStom
TL; DR除了验证文件是否存在之外,您可能需要将驱动器号添加到php.ini文件中的某些记录中
我突然开始在使用phpStorm 7使用xampp和xdebug调试php时遇到问题。当尝试将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"
php -r "echo php_ini_loaded_file();"
将在CLI中显示当前ini加载的文件,在其中搜索您的扩展名,其路径不正确。
我在尝试通过php.ini文件安装php扩展名时遇到了此警告消息;
直到我发现您无法在Linux中加载.dll扩展名之前,
但您必须评论要导入的扩展名,;extension= ... .dll
并通过正确安装它sudo apt-get install php-...
注意:...
是要启用的扩展名。
sudo apt install php-pgsql
php-version-specific sudo apt install php7.1-pgsql
(将7.1更改为您的php版本)
请注意,如果您的PHP库没有“其他”目录打开权限,您也会收到此错误。在我的特殊情况下,当php -l
我在文本编辑器中对脚本进行语法检查时,我注意到了这一点。这意味着,由于我的帐户被称为“ volomike”,因此该帐户无权运行该php
命令所依赖的库。
例如,在Ubuntu 14.04上,我将PHP5自动安装到path中/usr/lib/php5/20121212+lfs
。但是,由于我在C ++中构建一些共享库,因此我弄乱了目录权限,搞砸了事情,使非root帐户没有查看目录的执行(打开目录)权限/usr/lib/php5/20121212+lfs
。因此,我键入了以下命令来纠正该问题:
sudo chmod o+x /usr/lib/php5/20121212+lfs
。
现在,当我php -l example.php
以非root用户身份登录时,再也不会出现“无法加载动态库”的问题。
当我尝试安装作曲家时,在Windows的XAMPP上遇到了相同的问题。我做了php -v
和php投掷错误:
无法加载动态库'/xampp/php/ext/php_bz2.dll'
我花了一段时间才意识到我需要设置XAMPP。因此,我运行setup_xampp.bat
并且php返回后就像一个魅力。
当我尝试安装作曲家时,在Windows 10的XAMPP上遇到相同的问题。
无法加载动态库'/xampp/php/ext/php_bz2.dll'
然后按照以下步骤
extension_dir =“ F:\ xampp731 \ php \ ext”(此处finded_drive_name_from_the_file为F)
之后,Windows 10 XAMPP
我LAMPP (XAMPP)
在Ubuntu上安装了。Windows XAMPP
与MAC(iOS)相比,它的配置要少得多,但现在有了Linux Ubuntu,我有了更多配置,因为Linux中有更多配置(一件好事)。
我感到困惑和激活mysqli.dll
(和mysql.dll:在/etc/php/7.2/cli/php.ini
我开始收到与PHP Warning: PHP Startup: Unable to load dynamic library
相关的消息dll
。我mysql(and i).dll
在同一文件中注释掉了,但是直到我在注释中删除了“”消息才消失/opt/lampp/etc/php.ini
。
像XAMPP长相读取php.ini
从文件/etc/php/7.2/cli
,并使得修改php.ini
的/opt/lampp/etc
。(;“;”之后的extension = php_pdo_mysql.dll重新启动了Apache,没有任何消息。
我遇到了类似的错误。我犯的错误是在URL中使用“控制器”名称作为“页面”而不是“页面”。
我所做的是
1-我首先通过函数phpinfo()找出我正在使用的PHP版本。
<?php
phpinfo();
?>
2-从那里您将找到配置(php.ini)文件的位置
3-打开该文件
4-注释掉类似于下图的行
这可能是一个不同的值,但应与扩展有关。我不是专家,但是这个过程帮助我解决了类似的问题。
'C:/PHP/5.2.13/ext \ php_mcrypt1.dll'
我想说的是您的php.ini上有一些错字(多余的1个字)。也许您正在加载与预期不同的php.ini(请参阅php.ini的输出以确保)。
除此之外,请确保php_mcrypt.dll和PHP:
链接到相同的VC运行时库(对于VC6通常是msvcrt.dll或对于VC9通常是msvcrt90.dll)–为此使用依赖项遍历程序都是调试版本或都是发行版本都启用了ZTS或禁用了ZTS对于依赖的库进一步的库(DLL),请确保它们可用(例如,与扩展名位于同一目录中),如果上述前三个条件中的任何一个都不满足,PHP应该给您带来含义错误,但是我还是写了这些,因为我不确定适用于PHP 5.2。
我有一个类似的问题,以下是所有警告/错误中的一些。
Warning: PHP Startup: Unable to load dynamic library 'curl' (tried: C:\php\ext\curl
(The specified module could not be found.), C:\php\ext\php_curl.dll (The specified
module
could not be found.)) in Unknown on line 0
Warning: PHP Startup: Unable to load dynamic library 'fileinfo' (tried:
C:\php\ext\fileinfo (The specified module could not be found.),
C:\php\ext\php_fileinfo.dll (The specified module could not be found.)) in Unknown on
line 0
如果检查警告,您将看到它正在寻找php扩展名,C:\php\ext\
因此我将php下载到该C:\
目录中,从而解决了问题。