我试图安装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
我已经多次检查过,文件肯定在那里并且与正确的架构和线程安全性相匹配,所以我不知道还有什么可能导致这种情况。
任何帮助都将不胜感激。
答案 0 :(得分:3)
根据我的经验,您可以获得“无法加载动态库”#39;消息有两个不同的原因:
在您的情况下,假设您指出使用php -m
和phinfo()
(可能在网页中)的PHP报告之间存在差异,那么#1可能是原因。在php.ini中extension_dir
设置指定的位置查找扩展名。如果这是一个相对路径,那么它在Web服务器上下文中的解析可能与从命令行运行时不同。
答案 1 :(得分:1)
尝试安装libsodium:
验证php和pecl 的PHP -V pecl版本
如果您拥有php7.X,则: sudo pecl install -f libsodium
如果您在Docker容器中: pecl install -f libsodium
将sodium.so扩展名添加到php.ini中。
sudo echo“ extension = sodium.so”> /etc/php/7.1/mods-available/sodium.ini 苏多phpenmod钠
验证已安装扩展 php -i | grep“钠”
答案 2 :(得分:0)
尝试将 xampp\php\libsodium.dll 复制到 xampp\apache\bin\libsodium.dll 并重新启动 apache。 关于 XAMPP 8.0.5 我的帮助。