ImageMagick 설치 확인
내 웹 호스팅에 ImageMagic이 서버에 사전 설치되어 있다고합니다. phpinfo () 출력에서 "ImageMagick"을 빠르게 검색했지만 아무것도 찾지 못했습니다. 서버에서 SSH를 사용할 수 없으므로 PHP에서 설치를 확인할 수있는 방법이 있습니까?
이 시도:
<?php
//This function prints a text array as an html list.
function alist ($array) {
$alist = "<ul>";
for ($i = 0; $i < sizeof($array); $i++) {
$alist .= "<li>$array[$i]";
}
$alist .= "</ul>";
return $alist;
}
//Try to get ImageMagick "convert" program version number.
exec("convert -version", $out, $rcode);
//Print the return code: 0 if OK, nonzero if error.
echo "Version return code is $rcode <br>";
//Print the output of "convert -version"
echo alist($out);
?>
이것은 얻을 수있는 한 짧고 달콤합니다.
if (!extension_loaded('imagick'))
echo 'imagick not installed';
편집 : 아래 정보와 스크립트는 iMagick 클래스에만 적용되며 ImageMagick에 기본적으로 추가되지 않습니다 !!!
imagemagick이 설치되어 있고 실제로 PHP 확장으로 작동하는지 알고 싶다면이 코드를 웹 액세스 파일에 붙여 넣습니다.
<?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;
?>
hello world 그래픽이 표시되어야합니다.
PHP에서 Imagick 클래스를 쉽게 확인할 수 있습니다.
if( class_exists("Imagick") )
{
//Imagick is installed
}
bash에서 :
$ convert -version
또는
$ /usr/local/bin/convert -version
확인하기 위해 PHP 파일을 작성할 필요가 없습니다.
ImageMagick이 어디에 있는지 알아낼 수있는이 원샷 솔루션을 사용해보십시오.
This found all versions on my Godaddy hosting.
Upload this file to your server and call it ImageMagick.php
or something then run it. You will get all the info you need... hopefully...
Good luck.
<?
/*
// 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";
?>
In Bash you can check if Imagick is an installed module:
$ php -m | grep imagick
If the response is blank it is not installed.
If your ISP/hosting service has installed ImageMagick and put its location in the PATH environment variable, you can find what versions are installed and where using:
<?php
echo "<pre>";
system("type -a convert");
echo "</pre>";
?>
To test only the IMagick PHP extension (not the full ImageMagick suite), save the following as a PHP file (testImagick.php) and then run it from console: 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";
credit: https://mlocati.github.io/articles/php-windows-imagick.html
참고URL : https://stackoverflow.com/questions/4208253/verify-imagemagick-installation
'code' 카테고리의 다른 글
MySQL-이 버전의 MySQL은 아직 'LIMIT & IN / ALL / ANY / SOME 하위 쿼리를 지원하지 않습니다. (0) | 2020.10.13 |
---|---|
가로 스크롤 만 사용하는 Div (0) | 2020.10.13 |
centos : 동일한 유닉스 소켓으로 이미 실행중인 다른 MySQL 데몬 (0) | 2020.10.13 |
AppBarLayout 위젯 android 아래 그림자 제거 (0) | 2020.10.13 |
jquery를 사용하여 각 입력 값으로 동적으로 JSON 만들기 (0) | 2020.10.13 |