我正在尝试在WampServer 2下安装 imagemagic php扩展程序。
我已经下载并安装了ImageMagick。我选择了ImageMagick-6.8.8-10-Q16-x86-dll.exe
我已经下载了php扩展程序。
我已将刚刚下载的dll扩展程序移动到C:\ wamp \ bin \ php \ php5.4.16 \ ext \
我改变了php.ini(通过wamp tray icon>右键单击> PHP> php.ini访问它)并添加" extension = php_imagick.dll" ,没有引号,到扩展名列表。
我重启了Apache。没有注意到托盘图标上PHP扩展列表上显示的扩展名,我重新启动了wampserver。 ImageMagick扩展现在显示在列表中启用。
但是,我无法使用它。快速测试返回"致命错误:Class' Imagick'找不到"。在phpinfo()中只显示了imagemagick已被添加到env变量中。
当我尝试测试想象力时:
$im = new imagick( 'test.jpg' );
// resize by 200 width and keep the ratio
$im->thumbnailImage( 200, 0);
// write to disk
$im->writeImage( 'test_thumbnail.jpg' );
我收到错误:Fatal error: Class 'imagick' not found
我究竟做错了什么?
我正在使用win7 32位,phph 5-4-16和apache2
答案 0 :(得分:8)
php -m | grep imagick
。sudo apt-get remove --purge php5-imagick && sudo apt-get install php5-imagick
此致
答案 1 :(得分:1)
我实现它的唯一方法是使用旧版本的imagick:php_imagick-3.2.0b1-5.4-nts-vc9-x86
。
答案 2 :(得分:1)
您的库版本可能未对齐。
这是我解决的方式
我真的很难解决所有这些答案。回顾过去,我意识到其中大多数都是正确的,只是它们遗漏了一些非常重要的非常好细节。
1)。首先,在开始下载任何库或DLL之前,您要先从 php_info 开始,以找出这三个非常重要的参数。>
运行PHP_Info并检查:
- 体系结构:x86或x64。您的计算机可能是x64,但是您的php在x86上运行,所以不要假设
- 线程安全性:是或否。也很重要。
- 您的PHP版本
2)。从https://windows.php.net/downloads/pecl/deps/下载ImageMagick。 我的计算机是x64,但是我的php正在运行x86,所以我下载了ImageMagick-7.0。- -vc * -x86.zip
3)。解压缩并将所有DLL从解压缩后的bin子文件夹复制到Apache bin目录。这是一堆CORE_RL_ .dll和IM_MOD_RL _ .dll以及一些其他DLL。就我而言,[zipdownload] / bin / *->复制到-> C:\ Xampp \ apache \ bin
4)。转到http://pecl.php.net/package/imagick。您可以选择zip链接或仅选择DLL链接。我更喜欢DLL链接。就我而言,我选择了最新版本3.4.3。然后带我到https://pecl.php.net/package/imagick/3.4.3/windows。 在这里,我们必须做出另一个仔细的选择
5)。解压缩并将“ php_imagick.dll”复制到php ext 文件夹中。并将所有其他DLL文件添加到php文件夹
6)。。使用编辑器打开 php.ini 。搜索“ extension =“,并将此行 extension = php_imagick.dll 添加为其中之一。
7)。重新启动Xampp / Wamp或仅重新启动Apache并再次运行PHP_INFO。 Imagick应该显示。如果仍然看不到它,请参考此链接http://php.net/manual/en/imagick.setup.php#119084
奖金提示:您可能需要下载 Visual c ++ 14运行时。我从https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads链接中选择了最新版本。
答案 3 :(得分:0)
在任何页面中执行<?php phpinfo(); ?>
。这将显示服务上运行的所有服务。如果它正在运行,那么它将显示在哪个目录中。
如果您使用的是WHM面板,则可能需要在那里安装imageMagick
答案 4 :(得分:0)
你是否尝试过使用合适的套管,从大写“i”开始?
$im = new Imagick( 'test.jpg' );
在php,类和文件名中,不区分大小写,但类加载器是。
答案 5 :(得分:0)
我能够使WAMPSERVER 3.2.3正常工作。事实证明,有几个php.ini文件。我必须更改Apache服务器目录中的目录,才能使ImageMagicK与LocalHost一起使用。
我将扩展名添加到apachexx.xx.xx \ bin目录中的php.ini文件中
extension = imagick
我的路径仍然指向PHP目录,并且对我有用。
答案 6 :(得分:-1)
apt-get install pkg-config libmagickwand-dev -y
cd /tmp
wget https://pecl.php.net/get/imagick-3.4.0.tgz
tar xvzf imagick-3.4.0.tgz
cd imagick-3.4.0
phpize
./configure
make install
rm -rf /tmp/imagick-3.4.0*
echo extension=imagick.so >> /etc/php/7.0/cli/php.ini
echo extension=imagick.so >> /etc/php/7.0/fpm/php.ini
service php7.0-fpm restart
service nginx restart