无法加载动态库 'php_libsodium'
Unable to load dynamic library 'php_libsodium'
我正在尝试安装 libsodium php 扩展(https://pecl.php.net/package/libsodium/1.0.6/windows)。
当我 运行 php -m
时,libsodium 出现在列表中。
但是,当我转到 phpinfo 时,它没有列出。
我还注意到 apache 给我错误:PHP Warning: PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_libsodium.dll' - The specified module could not be found.\r\n in Unknown on line 0
我已经检查了多次,文件确实存在并且符合正确的体系结构和线程安全性,所以我不知道还有什么可能导致此问题。
如有任何帮助,我们将不胜感激。
根据我的经验,您收到 'Unable to load dynamic library' 消息的原因有以下几个:
- 您在 php.ini 中启用了一个模块,但是 PHP 找不到 dll 文件(它不存在,或者在错误的目录中)。
- dll 文件针对错误的体系结构(32 位与 64 位)或错误的线程模型(例如,线程安全的 DLL 被用于 [=28= 的非线程安全版本)编译]).
- dll 有一些无法找到的依赖项。例如,您可能需要将一些额外的 .dll 文件放在 PHP 可以找到它们的位置(例如在主 PHP 目录中)。
在您的情况下,鉴于您指出使用 php -m
和 phinfo()
报告的 PHP 之间存在差异(大概在网页中),#1 可能是原因。在 php.ini 中的 extension_dir
设置指定的位置查找扩展。如果这是一个相对路径,那么它在 Web 服务器上下文中的解析可能与在命令行中 运行 时的解析不同。
尝试安装 libsodium:
验证 php 和 pecl
php-v
PECL 版本
如果您有 php7.X 那么:
sudo pecl install -f libsodium
如果您在 Docker 容器内:
pecl 安装-f libsodium
将 sodium.so 扩展添加到 php.ini。
sudo echo "extension = sodium.so" > /etc/php/7.1/mods-available/sodium.ini
sudo phpenmod 钠
验证是否安装了扩展
php-我 | grep "sodium"
尝试将 xampp\php\libsodium.dll 复制到 xampp\apache\bin\libsodium.dll 并重新启动 apache。
关于XAMPP 8.0.5 我的帮助。
我正在尝试安装 libsodium php 扩展(https://pecl.php.net/package/libsodium/1.0.6/windows)。
当我 运行 php -m
时,libsodium 出现在列表中。
但是,当我转到 phpinfo 时,它没有列出。
我还注意到 apache 给我错误:PHP Warning: PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_libsodium.dll' - The specified module could not be found.\r\n in Unknown on line 0
我已经检查了多次,文件确实存在并且符合正确的体系结构和线程安全性,所以我不知道还有什么可能导致此问题。
如有任何帮助,我们将不胜感激。
根据我的经验,您收到 'Unable to load dynamic library' 消息的原因有以下几个:
- 您在 php.ini 中启用了一个模块,但是 PHP 找不到 dll 文件(它不存在,或者在错误的目录中)。
- dll 文件针对错误的体系结构(32 位与 64 位)或错误的线程模型(例如,线程安全的 DLL 被用于 [=28= 的非线程安全版本)编译]).
- dll 有一些无法找到的依赖项。例如,您可能需要将一些额外的 .dll 文件放在 PHP 可以找到它们的位置(例如在主 PHP 目录中)。
在您的情况下,鉴于您指出使用 php -m
和 phinfo()
报告的 PHP 之间存在差异(大概在网页中),#1 可能是原因。在 php.ini 中的 extension_dir
设置指定的位置查找扩展。如果这是一个相对路径,那么它在 Web 服务器上下文中的解析可能与在命令行中 运行 时的解析不同。
尝试安装 libsodium:
验证 php 和 pecl php-v PECL 版本
如果您有 php7.X 那么: sudo pecl install -f libsodium
如果您在 Docker 容器内: pecl 安装-f libsodium
将 sodium.so 扩展添加到 php.ini。
sudo echo "extension = sodium.so" > /etc/php/7.1/mods-available/sodium.ini sudo phpenmod 钠
验证是否安装了扩展 php-我 | grep "sodium"
尝试将 xampp\php\libsodium.dll 复制到 xampp\apache\bin\libsodium.dll 并重新启动 apache。 关于XAMPP 8.0.5 我的帮助。