【问题标题】:PHP Files are not moving from /tmpPHP 文件没有从 /tmp 移动
【发布时间】: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。我只是没想到没有它的服务器;)

标签: php apache laravel


【解决方案1】:

确保已安装 libgd!

http://libgd.github.io/

http://php.net/manual/en/book.image.php

CentOS 用户

  1. yum install gd gd-devel php-gd
  2. 重启 http 服务器(在我的例子中是 apache)。

【讨论】:

    猜你喜欢
    • 2014-04-03
    • 2012-08-13
    • 2014-01-28
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    相关资源
    最近更新 更多