PHP警告:PHP启动:无法加载动态库
我运行了一个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行的未知位置没有此类文件或目录PHP警告:PHP启动:无法加载动态库,php,dynamic-library,Php,Dynamic Library,我运行了一个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行的未知位置没有此类文件或目录 这意味着什么?这意味着在一个php配置文件(php.ini或其附近的另一个)中有
这意味着什么?这意味着在一个php配置文件(php.ini或其附近的另一个)中有一行
扩展=…
或zend_扩展=…
试图加载该扩展:ixed.5.2.lin
不幸的是,该文件或路径不存在或权限不正确
.ini
文件中搜索(phpinfo()
可以指示哪些文件是PHP加载的)-其中一个文件应该尝试加载该扩展名如果您在Linux上,您可以通过在shell中键入以下命令来查找所有加载的配置文件:
php -r "print phpinfo();" | grep ".ini"
更新:
如评论中所述,这可能更准确:
php -i | grep ini
如果您只是想让错误消失,并且不需要扩展,那么请务必在
php.ini
中注释掉该行。但是如果你真的想解决这个问题,这里有一些额外的信息
基于确切的模块,产生这种情况的原因多种多样,但也有一些一般性的指导原则
phpinfo()
并在Core
部分下查找extension\u dir
。这是您的模块应该位于的位置/usr/lib/php/modules
带有XAMPP的phpStom TL;DR除了验证文件是否存在外,您可能需要将驱动器号添加到php.ini文件中的某些记录中 我突然开始在使用PHPStorm7调试带有xampp和xdebug的php时遇到问题。当尝试将intellij interperter设置为xampps php时,我收到了许多类似问题中的警告,例如: 无法加载动态库“/xampp/php/ext/php_bz2.dll” 出于某种原因,我不得不将我的驱动器号添加到php.ini文件中扩展名_dir和browscap的记录中:
extension_dir = "\xampp\php\ext"
browscap = "\xampp\php\extras\browscap.ini"
到
当我尝试安装composer时,我在XAMPP for Windows上遇到了同样的问题。 我做了
php-v
和php抛出错误:
无法加载动态库“/xampp/php/ext/php_bz2.dll”
我花了一段时间才意识到我需要设置XAMPP。因此,我运行了
setup_xampp.bat
,php恢复正常工作。请注意,如果您的php库没有“其他”目录打开权限,您也可能会出现此错误。在我的特殊情况下,我在文本编辑器中使用php-l
对脚本进行语法检查时注意到了这一点。这意味着,由于我的帐户名为“volomike”,该帐户没有运行php
命令所依赖的库的权限
例如,在Ubuntu 14.04上,我让PHP5自动安装到路径/usr/lib/PHP5/20121212+lfs
。然而,因为我在C++中构建一些共享对象,所以我用目录权限来处理,并把事情搞砸了,这样,非根帐户就没有目录执行(目录打开)权限来查看<代码> /Ur/Lb/PHP5/20121212 +LFS。因此,我键入以下命令来纠正该问题:
sudo chmod o+x/usr/lib/php5/20121212+lfs
现在,当我作为非root用户使用
php-l example.php
时,它再也不会给我这个“无法加载动态库”的问题了。我遇到了类似的错误。我犯的错误是在我的url中使用“控制器”名称作为“页面”,而不是“页面” php-r“echo php_ini_loaded_file();”
将在CLI中显示当前加载的ini文件,在该文件中搜索扩展名,其路径不正确。在Linux中加载.dll
我在试图通过php.ini文件安装php扩展时遇到了此警告消息
直到我发现你不能在Linux中加载.dll扩展
但是您必须对要导入的扩展进行注释;扩展=。dll和通过sudo-apt-get-install-php-正确安装
。
注意:
…
是您要启用的扩展名。我在服务器上并排运行不同版本的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
在
windows10xampp之后
现在我在Ubuntu上安装了LAMPP(XAMPP)
<代码>Windows XAMPP与MAC(iOS)相比,要配置的要少得多,但现在有了Linux Ubuntu,我有了更多的配置,因为Linux有更多的配置(这是一件好事)
我混淆并激活了mysqli.dll
(和mysql.dll:erase“#”in/etc/php/7.2/cli/php.ini
我开始收到PHP警告:PHP启动:无法加载与dll
相关的动态库
消息。我在同一个文件中注释掉了mysql(和I.dll
),但直到在/opt/lampp/etc/PHP.ini
中注释掉“”之后,消息才消失
看起来XAMPP从/etc/php/7.2/cli
读取php.ini
文件并在中进行修改<
php -v
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
phpinfo();
?>