【发布时间】:2015-05-08 21:04:56
【问题描述】:
在我的链接中,图像没有显示,因为它们没有从 /tmp 移动到指定的目录。 php 脚本指针是正确的,并已通过file_exists() 进行了验证。处理图像的脚本也在我的机器上正常工作。
我已经检查了 php.net 中定义的所有 php.ini 设置; file_uploads、upload_max_filesize、upload_tmp_dir、post_max_size 和 max_input_time。
我还检查了/tmp 的文件模式和上传目录。全部验证为 777。
我检查了 php error_log 并且没有错误。
任何想法表示赞赏,我已经做了 6 个小时了,没有任何进展......
服务器/应用详情: CentOS7、Apache 2.4.6、PHP 5.4.16、Laravel 4.2
负责此的代码:
public function createTN($image) {
# Load Zebra Image Library
require_once public_path().'/uploads/Zebra_Image.php';
$destinationPath = public_path().'/uploads/thumbnails/';
$tn = new Zebra_Image();
$tn->source_path = $image->getRealPath();
$tn->target_path = $destinationPath.$this->name.'.jpg';
$tn->jpeg_quality = 60;
$tn->preserve_aspect_ratio = true;
$tn->enlarge_smaller_images = true;
$tn->resize(100, 100, ZEBRA_IMAGE_CROP_CENTER);
}
PS:public_path() 是正确的
【问题讨论】:
-
让 apache 拥有文件夹
chown apache:apache ./foldername -
刚刚对
./uploads做了那个,并用getfacl ./uploads验证了更改...所有者现在是 apache 但仍然没有成功 -
您链接到的页面中的图像网址指向 /uploads/smalls/some.jpg,而您的代码似乎存储在 /uploads/thumbnails/some.jpg 中。更改网址没有帮助,但至少这似乎是错误的。 Laravel 路由错误也会让我检查重写规则。
-
@ChristianM 嘿,我非常感谢您的洞察力。我的问题在这里得到了半回答 stackoverflow.com/questions/28920545/… 看起来我需要 libgd
-
@Rafael 没问题,确实 Zebra_Image 需要启用 GD。我只是没想到没有它的服务器;)