我收到以下错误:
PHP fatal error :未捕获的异常“ImagickException”,消息“无法打开图像 `/tmp/magick-2244K7gyKdSJDqKW':/var/www/中没有这样的文件或目录@error/blob.c/OpenBlob/2658” nodeviz-read-only/www/NodeViz/library/GraphVizExporter.php:454
引用的相关代码在这里:
$im = new Imagick();
$im->setFormat('svg');
#remove labels from the raster version
$im->readImageBlob(preg_replace('/<text.+\/text>/m', "", $this->svgString));
我不确定从哪里开始调试它。任何关于可能导致此错误的建议将不胜感激。 (我没有写代码,我只是想使用它。)
最佳答案
我遇到了这个问题并通过安装以下依赖项解决了它:
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
确保 imagick.so 已加载到 PHP 中,您应该可以开始了。
关于php - imagick readImageBlob 给出 'uable to open file' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24187099/