【问题标题】:File won't save with Imagick文件不会使用 Imagick 保存
【发布时间】:2018-10-22 23:59:31
【问题描述】:

我没有更改我网站上的任何内容,但最近当用户使用表单上传图片时,Imagick 无法保存该文件。没有错误。这是一个sn-p:

$file = $_FILES['foto']['tmp_name'];

$im = new Imagick($file);

$im->setImageBackgroundColor(new ImagickPixel("white"));
$im->setFormat ("jpg");
$im->cropThumbnailImage(100,100); 
$im->writeImages('/path/to/thumb0000.jpg',false);

编辑:感谢TK,我在错误日志中找到了以下消息:

PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/imagick.so' - libMagickWand.so.2: can not open shared object file: No such file or directory in Unknown on line 0. 

已解决:我已经安装了 php-pecl-imagick 包,一切都恢复正常了!

【问题讨论】:

  • 你看过apache错误日志了吗?
  • 谢谢,我已经弄清楚了如何访问error_log。确实有消息: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/imagick.so' - libMagickWand.so.2: can't open shared object file: No such file or directory in Unknown on第 0 行。但是,我在文件管理器中看到此位置的文件。知道会发生什么吗?
  • 确保它抱怨的文件确实存在,并且 php 帐户(通常是 Web 服务器帐户)可以访问它。如果两者都是真的,请确保它的依赖项都在那里并且可以访问。
  • 我解决了这个问题!我已经安装了 php-pecl-imagick 包,一切都恢复正常了!谢谢大家。

标签: php image-uploading imagick


【解决方案1】:

您的写入目标是绝对的,www 用户不太可能写入。

 $im->writeImages('/path/to/thumb0000.jpg',false);

检查你的实际路径并确保它存在,你可以在那里写

【讨论】:

  • 谢谢,但问题不在于路径。我使用的是正确的,因为我从来没有遇到过问题。我已经提出了我的问题,感谢 T K。
猜你喜欢
  • 2015-07-11
  • 2018-01-08
  • 1970-01-01
  • 2013-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多