Laravel 5.4,文件上传超时

时间:2018-05-27 18:40:17

标签: laravel file-upload laravel-5.4

我有一个表格可以将照片文件上传到存储空间以及数据库的路径。 我收到以下错误:

Symfony \ Component \ Debug \ Exception \ FatalErrorException (E_UNKNOWN)
Maximum execution time of 60 seconds exceeded

/vendor/league/flysystem/src/Adapter/Local.php

以下是我目前的代码。

不确定我做错了什么。 Laravel 5.4。

控制器逻辑

public function create(request $request) {

$validatedData = $request->validate([
  'name' => 'required|min:2',
  'roast' => 'required|min:2',
  'origin' => 'required|min:2',
  'price' => 'required',
  'photo' => 'required|file|image'

]);

$new = new product;
$name = $new->create();
session()->flash("message", "$name was created");
return back();
}

模型逻辑

public function create() {

$file = request()->file('photo');
$extension = $file->extension();
$name = request('name').request('roast').'.'.$extension;
$path = $file->storeAs('public/images',$name);

  product::create([
  'name' => request('name'),
  'roast' => request('roast'),
  'origin' => request('origin'),
  'photo' => $path,
  'price' => request('price'),
  'stock' => 0
]);

return request('name');
}

3 个答案:

答案 0 :(得分:1)

这是服务器配置问题,而不是 Laravel 问题,只需增加php.ini中的 max_execution_time max_input_time

答案 1 :(得分:1)

为了增加执行时间,请使用

public function create(request $request) 
{
    ini_set('max_execution_time', 300);
    // other code

将执行时间增加到300秒

答案 2 :(得分:0)

如果要存储在公共目录中,请选中此项。

 

       if ($request->hasFile('image')) {
            $image = $request->image;
            $image->move('uploads', $image->getClientOriginalName());
        }

        Product::create([
            'name' => $request->name,
            'price' => $request->price,
            'description' => $request->description,
            'image' => $request->image->getClientOriginalName()
        ]);

同时检查您的服务器配置。