Hosting web saya mengatakan ImageMagic telah diinstal sebelumnya di server. Saya melakukan pencarian cepat untuk "ImageMagick" di output phpinfo () dan saya tidak menemukan apa pun. Saya tidak bisa SSH di server jadi apakah ada cara di PHP saya bisa memverifikasi instalasi?
php
imagemagick
Desmond Liang
sumber
sumber
Ini sesingkat dan semanis yang bisa didapat:
if (!extension_loaded('imagick')) echo 'imagick not installed';
sumber
php -r 'echo "imagick is ".(extension_loaded("imagick")?"":"not ")."installed\n";'
EDIT: Info dan skrip di bawah ini hanya berlaku untuk kelas iMagick - yang tidak ditambahkan secara default dengan ImageMagick !!!
Jika saya ingin tahu apakah imagemagick diinstal dan benar-benar berfungsi sebagai ekstensi php, saya menempelkan cuplikan ini ke file yang dapat diakses web
<?php error_reporting(E_ALL); ini_set( 'display_errors','1'); /* Create a new imagick object */ $im = new Imagick(); /* Create new image. This will be used as fill pattern */ $im->newPseudoImage(50, 50, "gradient:red-black"); /* Create imagickdraw object */ $draw = new ImagickDraw(); /* Start a new pattern called "gradient" */ $draw->pushPattern('gradient', 0, 0, 50, 50); /* Composite the gradient on the pattern */ $draw->composite(Imagick::COMPOSITE_OVER, 0, 0, 50, 50, $im); /* Close the pattern */ $draw->popPattern(); /* Use the pattern called "gradient" as the fill */ $draw->setFillPatternURL('#gradient'); /* Set font size to 52 */ $draw->setFontSize(52); /* Annotate some text */ $draw->annotation(20, 50, "Hello World!"); /* Create a new canvas object and a white image */ $canvas = new Imagick(); $canvas->newImage(350, 70, "white"); /* Draw the ImagickDraw on to the canvas */ $canvas->drawImage($draw); /* 1px black border around the image */ $canvas->borderImage('black', 1, 1); /* Set the format to PNG */ $canvas->setImageFormat('png'); /* Output the image */ header("Content-Type: image/png"); echo $canvas; ?>
Anda akan melihat grafik hello world:
sumber
Dalam pesta:
atau
Tidak perlu menulis file PHP apa pun hanya untuk memeriksa.
sumber
Anda dapat dengan mudah memeriksa kelas Imagick di PHP.
if( class_exists("Imagick") ) { //Imagick is installed }
sumber
extension_loaded('imagick')
mengembalikan TRUE!, jadi saya kira lebih baik adalah:if( extension_loaded('imagick') || class_exists("Imagick") ){ /*do Imagick*/ }
Di Bash Anda dapat memeriksa apakah Imagick adalah modul yang diinstal:
Jika responsnya kosong, itu tidak diinstal.
sumber
Coba solusi satu kali ini yang akan mencari tahu di mana ImageMagick berada, jika Anda memiliki akses ke sana ...
Ini menemukan semua versi di hosting GoDaddy saya.
Unggah file ini ke server Anda dan beri nama
ImageMagick.php
atau sesuatu lalu jalankan. Anda akan mendapatkan semua info yang Anda butuhkan ... semoga ...Semoga berhasil.
<? /* // This file will run a test on your server to determine the location and versions of ImageMagick. //It will look in the most commonly found locations. The last two are where most popular hosts (including "Godaddy") install ImageMagick. // // Upload this script to your server and run it for a breakdown of where ImageMagick is. // */ echo '<h2>Test for versions and locations of ImageMagick</h2>'; echo '<b>Path: </b> convert<br>'; function alist ($array) { //This function prints a text array as an html list. $alist = "<ul>"; for ($i = 0; $i < sizeof($array); $i++) { $alist .= "<li>$array[$i]"; } $alist .= "</ul>"; return $alist; } exec("convert -version", $out, $rcode); //Try to get ImageMagick "convert" program version number. echo "Version return code is $rcode <br>"; //Print the return code: 0 if OK, nonzero if error. echo alist($out); //Print the output of "convert -version" echo '<br>'; echo '<b>This should test for ImageMagick version 5.x</b><br>'; echo '<b>Path: </b> /usr/bin/convert<br>'; exec("/usr/bin/convert -version", $out, $rcode); //Try to get ImageMagick "convert" program version number. echo "Version return code is $rcode <br>"; //Print the return code: 0 if OK, nonzero if error. echo alist($out); //Print the output of "convert -version" echo '<br>'; echo '<b>This should test for ImageMagick version 6.x</b><br>'; echo '<b>Path: </b> /usr/local/bin/convert<br>'; exec("/usr/local/bin/convert -version", $out, $rcode); //Try to get ImageMagick "convert" program version number. echo "Version return code is $rcode <br>"; //Print the return code: 0 if OK, nonzero if error. echo alist($out); //Print the output of "convert -version"; ?>
sumber
Jika ISP / layanan hosting Anda telah menginstal ImageMagick dan meletakkan lokasinya di variabel lingkungan PATH, Anda dapat menemukan versi apa yang diinstal dan di mana menggunakan:
<?php echo "<pre>"; system("type -a convert"); echo "</pre>"; ?>
sumber
Untuk menguji hanya ekstensi IMagick PHP (bukan rangkaian lengkap ImageMagick), simpan berikut ini sebagai file PHP (testImagick.php) dan kemudian jalankan dari konsol: php testImagick.php
<?php $image = new Imagick(); $image->newImage(1, 1, new ImagickPixel('#ffffff')); $image->setImageFormat('png'); $pngData = $image->getImagesBlob(); echo strpos($pngData, "\x89PNG\r\n\x1a\n") === 0 ? 'Ok' : 'Failed'; echo "\n";
kredit: https://mlocati.github.io/articles/php-windows-imagick.html
sumber
Ingatlah bahwa setelah menginstal Imagick (atau memang modul PHP apa pun) Anda perlu me-restart server web Anda dan / atau php-fpm jika Anda menggunakannya, agar modul tersebut muncul di phpinfo ().
sumber