为什么我得到这个错误

问题描述:

文件名的路径是正确的,但由于某种原因,当我运行脚本时,我得到下面的错误.. phpinfo显示我imagick安装...我下载了ghostscript,但我'不知道它是否检测到它..我所做的只是将它下载到我的电脑..有什么我失踪?我在困惑如何让ghostscript的支持PHP为什么我得到这个错误

Fatal error: Uncaught exception 'ImagickException' with message 'Can not process empty Imagick object' in C:\xampp\htdocs\tms\test_php.php:7 Stack trace: #0 C:\xampp\htdocs\tms\test_php.php(7): Imagick->setimageresolution(1250, 1250) #1 {main} thrown in C:\xampp\htdocs\tms\test_php.php on line 7

PHP代码:

//echo phpinfo(); 
    $filename = dirname(__FILE__).'\_media\4055-Beckman-Lead-App\client\fpo.pdf'; 
    echo $filename; 
    $im = new imagick($filename, 0777); 
    $im->setImageResolution(1250,1250); 
    $im->setImageColorspace(255); 
    $im->setCompression(Imagick::COMPRESSION_JPEG); 
    $im->setCompressionQuality(100); 
    $im->setImageFormat('jpeg'); 

    $im->writeImage('thumb.jpg'); 
    $im->clear(); 
    $im->destroy(); 
+2

我看到这样的问题太多了。花时间学习如何[解释错误并修复代码](http://jason.pureconcepts.net/2013/05/fixing-php-errors/)。 –

+0

我要猜测你的Imagick对象没有正确实例化,因此''不能处理空的Imagick对象''错误信息(你应该已经读过) –

看来好像对Imagick类的构造函数应该只有一个参数传递给它,但你传递两个($ filename,0777)。

更换

$im = new imagick($filename, 0777); 

$im = new Imagick($filename); 

http://www.php.net/manual/en/imagick.construct.php