无法加载动态库'php_wincache.dll'?

问题描述 投票:0回答:3

因为我已经使用 ASP.NET,所以我决定在 IIS 上使用 PHP,我使用 Wep PI 安装它,但是当我尝试安装 Composer 时,他因 PHP 设置错误而失败。

我尝试将 php.ini 中的 extension_dir 更改为绝对且未注释的 php_wincache 扩展,但我的解决方案均无效

C:\Program Files (x86)\iisexpress\PHP 7.2\php.exe

命令行 PHP 使用的 php.ini 为:C:\Program Files (x86)\iisexpress\PHP 7.2\php.ini

php.ini 中的设置可能会导致问题:“extension_dir”值不正确或 dll 不存在。

程序输出: PHP 警告:PHP 启动:无法加载动态库“php_wincache.dll”(已尝试:C:\Program Files (x86)\iisexpress\PHP 7.2 xt\php_wincache.dll(%1 不是应用程序 Win32 验证) .), C:\Program Files (x86)\iisexpress\PHP 7.2 xt\php_php_wincache.dll.dll (Le module spécifié est introuvable.)) 在第 0 行未知

php iis composer-php iis-express
3个回答
4
投票

现在回答这个问题有点晚了。但我也面临着同样的问题,并且能够以某种方式解决它。请按照以下步骤解决此问题。

第 1 步:安装适用于 PHP 的 Windows 缓存扩展。

    You can install it from http://php.net/manual/en/wincache.installation.php
    Or you can use Web Platform Installer. (Please see the screenshot.)

enter image description here

第 2 步:安装后,转到文件夹“Windows Cache for PHP”。复制 php_wincache.dll。

enter image description here

第 3 步:将复制的文件粘贴到您的 PHP/ext 位置。例如“C:/Program Files/PHP/v7.0/ext”。

enter image description here

现在您可以尝试再次安装composer。

希望这对您有帮助。


0
投票

我遇到了同样的问题,并在 PHP 手册上找到了答案。

7.0的wincache版本是为php7.dll而不是线程编译的 安全的 php7ts.dll。 您可能需要编译 wincache 的源代码或 更改为非线程安全版本。

猜测您已经安装了“线程安全”版本的 PHP,并且没有 WinCache 所需的 php7.dll。


0
投票

PHP扩展是具有.dll文件扩展名的动态链接库文件,位于extension_dir属性指定的扩展目录中。 php 扩展文件的文件名中包含 php_ 前缀。然而,在 php.ini 文件中,扩展名的书写没有 php_ 前缀或 .dll 后缀。 例如,以下行激活由 php_mysqli.dll 文件表示的 mysqli 扩展。 扩展名=mysqli 当 PHP 解释器想要加载扩展时,它会在扩展名称中添加前缀和后缀。 因此“extension=mysqli”对应于“php_mysqli.dll”。

因此,要启用 wincache 扩展,您必须将以下行添加到 php.ini 文件中

extension = wincache

相反,以下行将生成错误。

extension = php_wincache

因为上面的行将映射到“php_php_wincache.dll.dll”而不是php_wincache.dll。这是因为 PHP 在扩展名中添加了 php_ 前缀和 .dll 后缀。查看 PHP 扩展目录,看看发生了什么。

您的错误消息包含以下行

C:\Program Files (x86)\iis express\PHP\v7.2\ext\php_php_wincache.dll.dll

它正在寻找不存在的“php_php_wincache.dll.dll”文件。

请记住,从 PHP 版本 8.x 开始,PHP 不支持 wincache。因此,如果您使用 PHP 8.x,请在 php.ini 文件中禁用 wincache 扩展。否则,您的 PHP 解释器将默默地生成您可能没有意识到的错误。

© www.soinside.com 2019 - 2024. All rights reserved.