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トレイアイコン>右クリック> PHP> php.ini)からアクセスし、引用符なしで「extension = php_imagick.dll」を追加しました。拡張リスト。
Apacheを再起動しました。トレイアイコンからPHP拡張機能リストに表示される拡張機能に気付かずに、wampserverを再起動しました。ImageMagick拡張機能はリストで有効になっています。
ただし、使用できません。クイックテストを実行すると、「致命的なエラー:クラス 'Imagick'が見つかりません」が返されます。 phpinfo()では、imagemagickがenv変数に追加されたことのみを示しています。
imagickをテストしようとすると:
$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で作業しています
動作させる唯一の方法は、古いバージョンのimagick:php_imagick-3.2.0b1-5.4-nts-vc9-x86
を使用することです。
php -m | grep imagick
。Sudo apt-get remove --purge php5-imagick && Sudo apt-get install php5-imagick
よろしく
ライブラリのバージョンがずれている可能性があります。
これが私がそれを解決した方法です
私はこれらすべての答えに本当に苦労しました。振り返ってみると、非常に細かい重要な詳細を省略していることを除いて、それらのほとんどが正しいことに気付きました。
1).何よりもまず、php_infoで開始したいライブラリまたはDLLのダウンロードを開始する前にこれら3つの非常に重要なパラメータを見つけるために。
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 and IM_MOD_RL _。dllに加えて、いくつかの他のDLLです。私の場合、[zip形式でダウンロード]/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」を解凍してphpextフォルダーにコピーします。そして、他のすべてのDLL phpフォルダーへのファイル
6).エディターを使用してphp.iniを開きます。 「extension =」を検索し、この行extension=php_imagick.dllをそれらの1つとして追加します。
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 phpinfo(); ?>
を実行します。これにより、サービスで実行されているすべてのサービスが表示されます。実行されている場合は、どのディレクトリで表示されます。
WHMパネルを使用している場合は、imageMagickをインストールする必要があります
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
大文字の「i」から始めて、クラスに適切なケーシングを使用してみましたか?
$im = new Imagick( 'test.jpg' );
PHPでは、クラス名とファイル名は大文字と小文字が区別されませんが、クラスローダーは区別されます。