我正在尝试在具有PHP x64体系结构的XAMPP x64上安装imagick,我按照以下步骤操作:
1-下载并安装Windows版ImageMagick,我安装了以下版本:ImageMagick-7.0.9-9-Q16-x64-dll.exe
2-下载Imagick for PHP,我下载了此版本php_imagick-3.4.4-7.2-ts-vc15-x64,在xampp / php / ext文件夹中添加了php_imagick.dll,并在php.ini中启用了扩展名。 / p>
3-下载所需的Imagick二进制文件,我下载了此bin ImageMagick-7.0.7-11-vc15-x64并将其添加到xampp / apache / bin文件夹中。
4-下载Ghostscript,我安装了此版本gs950w64。
然后,我使用所有相关服务重新启动XAMPP。在phpinfo中,我看到了imagick扩展名,并且可以使用,但是如果我运行此代码,则会收到ERR_CONNECTION_RESET错误。
$im = new Imagick();
$im->pingImage(realpath('sample.pdf'));
echo $im->getNumberImages();
这是phpinfo:
出什么问题了? 谢谢
更新:
如果我运行“ composer show --platform”,则会收到此警告“ PHP警告:版本警告:Imagick是针对ImageMagick 1799版本编译的,但是版本1801已加载。Imagick将运行,但在Unknown上表现可能会令人惊讶第0行”。我不知道这是否相关。
该问题仅出现在PDF文件中,如果我将相同的代码与jpg图像一起运行,它将正常工作
答案 0 :(得分:0)
有点晚了,但是在努力使Windows + PHP + imagick + Ghostview运行了一天之后,我想分享我的解决方案。
使用PHP 7.2(运行安全,WIN 32,CGI / FastCGI),我安装了匹配的PHP-imagick版本,没有问题(php_imagick-3.4.4-7.2-ts-vc15-x86.zip)
(有关CGI / FastCGI的提示:php_imagick.dll如PHP-ext-目录中所述,而其他150个imagick-dll则位于cgi-bin-folder中)
然后,我安装了实际的win32版本(gs952w32.exe),并收到许多“内部服务器错误”,并且apache-error-log越来越大...:-(
解决方案:
在较早的gs发行版(https://github.com/ArtifexSoftware/ghostpdl-downloads/releases)中向后移动,我成功使用9.25(gs925w32.exe)进行了运行安装。
顺便说一句: 在我的私人linux计算机上,只需几分钟即可安装相同的PHP,Imagick和Ghostview安装。