我采取的步骤迄今为止:
Fatal error: Class 'Imagick' not found
当我尝试运行使用Imagick的脚本时, Fatal error: Class 'Imagick' not found
错误。 当前版本:
我正在运行一个较老的PHP版本,让Imagick正常工作,然后我更新了PHP(以及Imagick DLL),现在我似乎无法得到它的工作。
看着phpinfo( )
,我没有看到Imagick列在那里,所以它似乎并没有加载模块。 这很奇怪,因为我在启动Apache时没有遇到任何错误。
我已经尝试了几乎所有在Windows上安装Imagick for PHP的书面和演练,但是它们似乎都是为旧版本的PHP编写的。
有人可以帮我得到这个安装和运行? 这似乎只是缺less一个简单的步骤,我似乎无法弄清楚。 如果您需要更多信息,请询问。 我会尽可能地帮你。
我有我的开发系统上的Windows 8.1专业版安装的php 5.6 NTS x64
。
编辑:这个程序也适用于Windows 10专业版。
我无法得到Imagick使用较早版本的ImageMagick来处理PHP,就像在公认的答案中一样,很难找到具有所需确切安全二进制文件的镜像(被接受的答案中的镜像中的二进制文件以不同于列出的版本下载) 。
在下面的所有步骤中,一定要将您的PHP体系结构(x86 / x64和NTS / TS)与二进制体系结构相匹配。 如果您正在使用PHP x86,请使用x86(或32位)版本替换x64版本的下载。 这同样适用于PHP的线程安全(TS)和非线程安全(NTS)版本。
我终于完成了以下工作:
(3.3.0RC1)
。 php_imagick.dll
解压到D:\php5.6\ext
CORE_RL_*.dll
文件CORE_RL_*.dll
压缩到D:\php5.6
– 确保D:\php5.6
也被添加到系统环境变量的PATH
中 extension = php_imagick.dll
添加到D:\php5.6\php.ini
(ImageMagick 6.9.1-2 Q16 x64)
和缺少的支持格式 D:\php5.6\bin
– 确保选中“ Add Path to Environment Variables
选项或手动添加它 convert --version
显示正确的版本 D:\php5.6
中的CORE_RL_*.dll
文件(它们将通过ImageMagick路径加载 – 否则您的PHP安装可能会因PECL RC dll而变得不稳定) D:\php5.6\bin
,以便能够将PDF转换为http://sourceforge.net/projects/ghostscript/中的图像, 确保与您的安装相匹配 我不需要为Imagick添加MAGICK_HOME
来使用PHP内置Web服务器,但可能需要Apache。 其他注意事项是确保运行PHP的用户有权执行convert
。 这应该通过D:\php5.6\bin
继承,但是如果您选择安装到C:\Program Files
。 由于权限有限,您可能会遇到问题。
图像转换的替代方法
如注释中所述,您也可以下载所需的ImageMagick版本依赖关系,并将bin
目录中的exe
和dll
文件直接提取到您的D:\php5.6
目录中。 依赖关系可以在PECL网站上找到http://windows.php.net/downloads/pecl/deps/
使用PECL依赖关系方法,使用GhostScript进行PDF转换所需的排除文件存在问题。
特别注意事项
请务必重新安排您的PATH系统环境变量,以便%SystemRoot%\system32\convert.exe
不会覆盖D:\php5.6\bin\convert.exe
。
通过将您的PHP路径添加到system32的左侧,如下所示: 路径: D:\php5.6\bin;%SystemRoot%\system32;%SystemRoot%;...
这将强制您的系统在%SystemRoot%\system32
之前查找D:\php5.6\bin
可执行文件
将D:\php5.6\bin\convert.exe
替换为安装ImageMagick的路径或convert.exe
所在的路径
https://technet.microsoft.com/en-us/library/cc723564.aspx#XSLTsection127121120120
我终于搞定了,这是我必须做的:(参考http://refreshless.com/blog/imagick-pecl-imagemagick-windows/ )
php_imagick.dll
文件放在PHP ext
目录中,并将CORE_RL_*_.dll
文件放入Apache的bin
目录。 MAGICK_HOME
的Environement变量添加到机器中,值为[ImageMagick install dir]\modules\coders
。 phpinfo( )
。 如果这不起作用,请尝试不同版本的ImageMagick二进制文件和不同版本的PECL库。
另一种解决方案,在3个不同的Windows安装(2 Windows 7和1 Windows 8.1)工作是结合:
ImageMagick-6.7.9-10-Q16-windows.exe
xampp-win32-1.8.3-5-VC11-installer.exe 。
当然,你将不得不将php_imagick.dll添加到php / ext文件夹中, 并将 php_imagick.dll 扩展名添加到php.ini中。 完成上述所有操作后重新启动 apache,如果它抱怨丢失的东西,请重新启动计算机。