📌  相关文章
📜  PHP 启动:无法加载动态库 - PHP (1)

📅  最后修改于: 2023-12-03 14:45:22.907000             🧑  作者: Mango

PHP 启动:无法加载动态库

在使用 PHP 时,你可能会遇到以下报错信息:

PHP Warning:  PHP Startup: Unable to load dynamic library '/path/to/extension.so' - /path/to/extension.so: cannot open shared object file: No such file or directory in Unknown on line 0

这个错误通常表示 PHP 找不到动态链接库。在本文中,我们将介绍该问题的常见原因和解决办法。

原因

该问题通常由以下原因引起:

  1. 动态链接库不存在或已被删除。
  2. 动态链接库路径未正确配置。
解决办法
找到缺少的动态链接库

首先,你需要确定缺少的动态链接库名称。

在 PHP 错误信息中,你会看到以下输出:

Unable to load dynamic library '/path/to/extension.so'

其中,/path/to/extension.so 是包含该动态链接库的完整路径。

检查动态链接库是否存在

接下来,你需要确定该动态链接库是否存在。运行以下命令:

ls -l /path/to/extension.so

如果该命令返回 No such file or directory 错误,则说明该动态链接库不存在或已被删除。

修复动态链接库路径

如果动态链接库存在,则可能是动态链接库路径未正确配置。你需要编辑 php.ini 文件,并添加正确的动态链接库路径。

使用以下操作系统命令可以找到当前的 php.ini 文件:

php --ini

然后,在文件中搜索以下内容,以秒为单位:

; Directory in which the loadable extensions (modules) reside.
extension_dir = ""

取消注释 extension_dir 行,并更改成正确的路径。例如:

extension_dir = "/usr/local/opt/php@7.4/lib/php/20190902/"

确保将动态链接库位置添加到路径结尾。

重启 Web 服务器

最后,重启 Web 服务器以使更改生效。运行以下命令可以重启 Apache:

sudo apachectl restart

或者,如果你正在使用 Nginx:

sudo service nginx restart

现在,重新加载 PHP 应该会找到动态链接库并正确运行。