我正在Laravel 5.3中处理文件上传。文件上载适用于大小小于200 MB的文件。任何大于200的东西都会失败。失败的奇怪原因是当上载文件大小大于200 MB时,请求obj为null。但是当文件大小小于200 MB时,相同的代码可以正常工作。
我更新了php.ini并增加了文件大小,如下所示并重新启动了apache。我更改了以下php.ini文件。
/etc/php/5.6/cli/php.ini
/etc/php/5.6/apache2/php.ini
我的phpinfo()返回已加载配置文件的以下位置。
Loaded Configuration File /etc/php/5.6/apache2/php.ini
**post_max_size** = 1024M
**upload_max_filesize** = 1024M
**max_execution_time** = 120
**memory_limit** = 1024M
下面的代码在我的控制器中。失败发生在带有错误消息的日志消息
异常'ErrorException',消息'Undefined index: selectedType'
我做了一个$ input的转储,它返回空文件大小超过200 MB,但适用于较小的文件。
public function postAdd(Request $request)
{
$input = $request->all();
Log::info('In postAdd method input selectedType '.$input['selectedType']);
我的表单包含多部分enctype。
{!! Form::open([
'files' => true,
'method' => 'POST',
'route' => $route,
'enctype' => "multipart/form-data",
], [ 'class' => 'form' ]) !!}
@include ('form' )
{!! Form::close() !!}
知道为什么请求obj变为null?任何帮助或指示表示赞赏。
更新
我能够根据@ user4892206的评论解决这个问题 将执行时间更改为600秒后,它开始工作。
注意:这不是一个重复的问题。关于设置post_max_size的另一个问题已在我的案例中完成。 无论如何,执行时间有助于解决我的问题。