Dev*_*DOS 19 php apache imagemagick
我想在WampServer 2下安装imagemagic php扩展.
我已经下载并安装了ImageMagick.我选择了ImageMagick-6.8.8-10-Q16-x86-dll.exe
我已经下载了php扩展程序.
我已经将我刚下载的dll扩展名移到了C:\ wamp\bin\php\php5.4.16\_分机
我已经改变了php.ini(通过wamp tray icon>右键单击> PHP> php.ini访问它)并将"extension = php_imagick.dll"(没有引号)添加到扩展名列表中.
我重新启动了Apache.没有注意到托盘图标上PHP扩展列表上显示的扩展名,我重新启动了wampserver.ImageMagick扩展现在显示在列表上启用.
但是,我不能使用它.做一个快速测试返回"致命错误:未找到类'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' );
Run Code Online (Sandbox Code Playgroud)
我得到错误:Fatal error: Class 'imagick' not found
我做错了什么?我正在使用win7 32位,phph 5-4-16和apache2
Joe*_*tch 12
您可能有未对齐的库版本。
这是我解决的方法
我真的为所有这些答案而挣扎。回想起来,我意识到他们中的大多数都是正确的,只是他们遗漏了一些非常重要的细节。
1)。首先,在您开始下载任何库或 DLL 之前,您要从 php_info开始找出这三个非常重要的参数。
运行 PHP_Info 并检查:
- 架构:x86 或 x64。您的计算机可能是 x64,但您的 php 在 x86 上运行,所以不要假设
- 线程安全:是或否。也非常重要。
- 您的 PHP 版本
2)。从以下位置下载 ImageMagick:https : //windows.php.net/downloads/pecl/deps/。我的电脑是 x64,但我的 php 运行的是 x86,所以我下载了 ImageMagick-7.0。- -vc*-x86.zip
3)。解压缩所有 DLL 并将其从解压缩的 bin 子文件夹复制到 Apache bin 目录。它是一堆 CORE_RL_ .dll 和 IM_MOD_RL_ .dll 加上一些其他 DLL。就我而言,[zippeddownload]/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 runtime。从这个链接https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads我选择了最新版本。
php -m | grep imagick
.sudo apt-get remove --purge php5-imagick && sudo apt-get install php5-imagick
问候