无法加载 imagick 库

新手上路,请多包涵

我已经从 这里 安装了 imagick (ImageMagick-7.0.3-1-Q16-x64-dll) 和从 这里 安装了 dll (TS 32 位)。并且还将 CORE_RL_*C:\xampp\apache\bin 但是当我运行 laravel 服务器时仍然出现以下错误。

错误:警告:PHP 启动:无法加载动态库 ‘C:\xampp\php\ext\php_imagick.dll’ - 找不到指定的模块。在第 0 行未知

另外,我将 dll 文件放在 C:\xampp\php\ext\php_imagick.dll 中。

此外,imagick 显示在 phpinfo() 中。 在此处输入图像描述

当我使用 laravel 使用它时,出现以下错误。 在此处输入图像描述

原文由 Jamal Abdul Nasir 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 604
1 个回答

让 Imagick 在 Windows 上工作一直有点碰运气,因为这里指出是一个很好的指南 http://stackoverflow.com/a/36378764/1090867

但它忽略了一个重要的点

您不需要将二进制文件放入 PHP 文件夹!

因此,这是我每次需要执行此操作时都会遵循的步骤。这应该适用于 apache、Nginx 或 IIS。

第1步

找出你的 php 版本和设置

在此处输入图像描述

你需要版本、架构、编译器和线程安全

如果禁用线程安全,则启用 NTS ,它将 TS

第2步

获取并安装 ImageMagick 的副本并确保它与您的体系结构匹配,这也需要是 dll.exe 而不是静态版本。

关于 Q8 和 Q16 我会留给你,但两个版本都可以

关联

我建议将安装目录名称更改为通用名称,如 C:\Imagemagick 因为我过去在使用 PHP 和 Windows 的默认目录名称时遇到过一些问题。

只需安装但确保勾选添加应用程序路径,我通常也会勾选遗留实用程序。

在此处输入图像描述

安装后,转到您的环境变量并确保它确实在路径中。 无需将任何内容复制到您的 PHP 文件夹

只是为了确保一切正常,打开命令行并键入 convert --version 你应该会得到响应

步骤 3

不幸的是,这是困难的部分,可能需要反复试验。我发现以下提供了最好的 php_imagick.dll,它似乎在 10 次中有 9 次有效

http://www.peewit.fr/imagick/

只需选择与您的安装相匹配的版本。

如果这不起作用,请转到 php.net 并尝试每个版本,直到一个有效……(最晚开始)

http://windows.php.net/downloads/pecl/releases/imagick/

一旦你有一个 php_imagick.dll 把它放到你的 php/ext/ 文件夹

然后找到你的 php.ini 文件到底部(或任何你的扩展名)并添加 extension=php_imagick.dll

第四步

重新启动 PHP(或您的计算机),如果不尝试不同的 php_imagick.dll 并重复,它应该可以正常工作。

如果上述方法不起作用

然后试试稍旧版本的Imagick 我通常使用6.8.6-8 Q16版本。

请注意,我只在 Windows 7 和 Windows Server 2008、2008 R2、2012 和 2012 R2 所有 x64 和 x86 PHP 上真正做到过

如果这仍然不起作用,那么您可能需要将 CORE_RL 文件复制到您的 Imagick 目录中,这通常会导致更多问题,但如果您没有想法,请尝试一下

原文由 Avenyet 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏