发布于 2017-05-30 09:57:38
让Imagick在Windows上工作一直以来都是一件偶然的事,正如这里指出的,这是一个很好的指南http://stackoverflow.com/a/36378764/1090867
但它忽略了一个重要的观点
您不需要将二进制文件放入PHP文件夹!
所以,这是我每次需要这样做的时候遵循的步骤。这应该适用于apache、Nginx或IIS。
第一步
查找php版本并设置

你需要版本,架构,编译器和线程安全
如果禁用线程安全,这是,NTS,是启用的,它将TS
第二步
获取并安装一个ImageMagick副本,并确保它与您的体系结构相匹配,这也需要是dll.exe而不是静态版本。
关于Q8和Q16,我将留给您,但是这两个版本都可以工作。
我建议将安装目录名更改为类似于C:\Imagemagick的通用目录名,因为我过去在使用PHP和windows的默认目录名时遇到了一些问题。
只需安装,但要确保您勾选“添加应用程序路径”,而我通常也会勾选遗留的实用程序。

安装完毕后,转到您的环境变量,并确保它实际上在路径中。没有必要将任何内容复制到文件夹中
为了确保一切正常工作,打开命令行并键入convert --version,您应该得到一个响应。
第三步
不幸的是,这是困难的部分,可能是一些尝试和错误。我发现下面提供了最好的php_imagick.dll,它似乎可以工作9次
只需选择与您的安装匹配的版本。
如果这不起作用,那么转到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。
请注意,我只在Windows7和Windows 2008、2008 R2、2012和R2 all x64和x86 PHP上真正做到过这一点。
如果这仍然不起作用,那么您可能需要将CORE_RL文件复制到Imagick目录中,这通常会导致更多的问题,但是如果您的想法正在耗尽,那么就试一试
发布于 2018-02-03 17:47:35
我刚碰到这个问题。只有我在命令行(PHP )上使用PHP。问题在于主php_imagick.dll文件所具有的依赖性。PHP将尝试加载扩展,但由于Windows找不到CORE_RL_ DLL,该扩展将无法加载,并且将出现关于无法加载DLL的错误/警告消息。它有助于了解Windows如何加载DLL:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms682586(v=vs.85).aspx
这是相当复杂的,但您可以看到,Apache的/bin目录技巧之所以适用于Apache,是因为httpd.exe位于该目录中。但是,在使用PHP时,DLL需要位于与php.exe相同的目录中。
如果不希望出现重复的DLL,请将包含php.exe的目录添加到系统路径中,并在其中填充所有CORE_RL_ DLL。这条路是搜索的最后一条路,但会很好的。如果您不希望系统路径中存在虚假条目,那么只在Apache启动期间设置额外的路径信息。
发布于 2022-06-14 03:37:07
这是因为缺少依赖项。那些面临相同错误的无法加载动态库的用户请按照以下步骤操作
php_imagick.dll文件复制到C:\xampp\php\ext文件夹。C:\xampp\php文件夹。extension=php_imagick添加到php.ini文件中。在从DLL列表中选择之前要记住的事项.

N.B:以上解决方案仅供XAMPP用户使用.
https://stackoverflow.com/questions/39609951
复制相似问题