📅  最后修改于: 2023-12-03 14:45:22.907000             🧑  作者: Mango
在使用 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 找不到动态链接库。在本文中,我们将介绍该问题的常见原因和解决办法。
该问题通常由以下原因引起:
首先,你需要确定缺少的动态链接库名称。
在 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 服务器以使更改生效。运行以下命令可以重启 Apache:
sudo apachectl restart
或者,如果你正在使用 Nginx:
sudo service nginx restart
现在,重新加载 PHP 应该会找到动态链接库并正确运行。