我已经从 这里 安装了 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
中。
原文由 Jamal Abdul Nasir 发布,翻译遵循 CC BY-SA 4.0 许可协议
让 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 目录中,这通常会导致更多问题,但如果您没有想法,请尝试一下