我有一个表格可以将照片文件上传到存储空间以及数据库的路径。 我收到以下错误:
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');
}
答案 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() ]);
同时检查您的服务器配置。