imagick readImageBlob 报错 'uable to open file'

5
我遇到了以下错误:
PHP致命错误:在/var/www/nodeviz-read-only/www/NodeViz/library/GraphVizExporter.php的第454行,引用了如下代码,但出现了异常“ImagickException”,并提示“无法打开图像`/tmp/magick-2244K7gyKdSJDqKW':错误/ blob.c / OpenBlob / 2658中没有此文件或目录”。
请您检查文件是否存在。
    $im = new Imagick();
    $im->setFormat('svg');
    #remove labels from the raster version
    $im->readImageBlob(preg_replace('/<text.+\/text>/m', "", $this->svgString));

我不确定从哪里开始调试这个问题。如果有任何导致此错误的原因,请提供建议,感激不尽。(我没有编写代码,只是在尝试使用它。)


你能发布SVG字符串吗? - Danack
1
我正好有同样的问题。 - v0d1ch
1个回答

0
我遇到了这个问题,并通过安装以下依赖项解决它:
sudo apt-get install libxml2 libxml2-dev librsvg2-dev librsvg2-bin
对我来说有效,但如果你不行:
重新编译ImageMagick(适合您的任何版本):
cd ~
wget https://github.com/ImageMagick/ImageMagick/archive/7.0.8-7.tar.gz
tar xzf 7.0.8-7.tar.gz
cd ImageMagick-7.0.8-7
./configure --prefix=/usr --with-rsvg --with-xml
make
sudo make install
sudo ldconfig /usr/local/lib

添加最新的Imagick PHP扩展:

pear config-set preferred_state beta
pecl channel-update pecl.php.net
pecl install imagick-beta

确保 PHP 中已加载 imagick.so,然后您就可以开始了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接