【发布时间】:2017-03-21 16:39:32
【问题描述】:
我的系统详情
- Mac OS 10.12.1
- homebrew/php/php56-imagick:稳定版 3.4.3(瓶装)
ImageMagick 无法从 /private/var/tmp 读取
致命错误:带有消息的未捕获异常“ImagickException” '读取文件失败' in /Users/myuser/Documents/mysite/upload.php:118 堆栈 跟踪:#0 /Users/myuser/Documents/mysite/upload.php(118): imagick->readimage('/private/var/tmp/phpsmBzDU') #1 {main} 抛出 /Users/myuser/Documents/mysite/upload.php 在第 118 行
第 118 行本质上是
$i->readImage($_FILES['image']['tmp_name']);
// $_FILES('image']['tmp_name'] is /private/var/tmp/phpsmBzDU
我也看到在 /private/var/tmp 中创建的其他会话文件。如:
- sess_5pkmef95cq5ma9avc7ohrdbd33
- sess_pp35dfaopplge1jfjds8c54lr3
- sess_ctkpbica5dp2uunf2hrgqv4v12
- 等等……
我已经尝试过这里列出的解决方案 Set PHP ImageMagick tmp directory
【问题讨论】:
-
试试
$_FILES['image']['tmp_name'] -
您是否尝试过使用
move_uploaded_file将文件移动到其他位置并读取图像? -
@emcconville 实际上是
$_FILES['image']['tmp_name']。当我在这里复制/粘贴代码时,我不小心更改了参数。让我修改我的帖子。 -
@heiglandreas 我会试一试。请等待我的反馈。
-
@heiglandreas 我使用 move_upload_file 并成功将文件写入桌面。但是,当我使用 readImage() 时,即使我硬编码到桌面的路径,我仍然会遇到同样的错误。
标签: php macos imagemagick