Laravel 4.2 + nginx返回Input :: file null

时间:2015-04-07 16:01:07

标签: php macos laravel nginx intervention

我处于一种非常奇怪的境地:

当我尝试使用Form::file('image')上传某个文件时,我只获得空值。

表格

{{ Form::open(['route' => 'admin.companies.store', 'class' => 'form', 'files' => true]) }}

<h3>{{ trans('messages.companies.data_company') }}</h3>

<div class="form-group">
    {{ Form::label('image', trans('messages.companies.image')) }}
    <div class="row">
        <div class="col-xs-4">
            {{ Form::file('image') }}
            @include ('partials.validator_field', ['field' => 'image'])
        </div>
    </div>
</div>

nginx的

首先我尝试验证我的nginx配置,但显然它没问题。

server {
    listen 80;
    server_name www.example.com.build example.com.build;
    access_log /var/www/customers/example/logs/access.log;
    error_log /var/www/customers/example/logs/error.log;
    root /var/www/customers/example/example/public;

    client_max_body_size 100m;

    location / {
        sendfile on;
        client_max_body_size 200m;
        try_files $uri $uri/ /index.php$is_args$args;
        index  index.html index.htm index.php;
    }

    location ~ \.php$ {
        include /usr/local/etc/nginx/fastcgi_params;
        try_files $uri /index.php =404;
        fastcgi_index index.php;
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME /var/www/customers/example/example/public$fastcgi_script_name;
        fastcgi_param debug true;
    }
}

权限

然后我尝试向app/storagepublic/imagespublic/upload提供 777 权限(我使用干预/图片上传包):同样的错误,没有改变。


奇怪的测试

我测试了一个&#34;纯输入文件&#34;就像那个<input type="file" name="teste />和上传一样:PHP收到了图像。


最终输出(var_dump)

$_FILES

array(1) {
  ["image"]=>
  array(5) {
    ["name"]=>
    string(0) ""
    ["type"]=>
    string(0) ""
    ["tmp_name"]=>
    string(0) ""
    ["error"]=>
    int(4)
    ["size"]=>
    int(0)
  }
}
Input::file('image')

NULL
Input::all()

array(31) {
  ["_token"]=>
  string(40) "GDaT0jqKmpmDyGw4BeRVW1tCb01T1ni5gvKoKCPg"
  ["name"]=>
  string(4) "tste"
  ["description"]=>
  string(0) ""
  ["corporate_name"]=>
  string(0) ""
  ["company_segment_id"]=>
  string(1) "4"
  ["company_relationship_id"]=>
  string(1) "2"
  ["contract"]=>
  string(0) ""
  ["state_registration"]=>
  string(0) ""
  ["cnpj"]=>
  string(0) ""
  ["cnae_session"]=>
  string(0) ""
  ["address"]=>
  string(0) ""
  ["street"]=>
  string(0) ""
  ["street_number"]=>
  string(0) ""
  ["street_complement"]=>
  string(0) ""
  ["postalcode"]=>
  string(0) ""
  ["neighborhood"]=>
  string(0) ""
  ["state_id"]=>
  string(1) "1"
  ["city_id"]=>
  string(0) ""
  ["landmark"]=>
  string(0) ""
  ["phone_comercial"]=>
  string(0) ""
  ["phone_fax"]=>
  string(0) ""
  ["phone_mobile_1"]=>
  string(0) ""
  ["phone_mobile_2"]=>
  string(0) ""
  ["site"]=>
  string(0) ""
  ["skype"]=>
  string(0) ""
  ["facebook"]=>
  string(0) ""
  ["linkedin"]=>
  string(0) ""
  ["youtube_channel"]=>
  string(0) ""
  ["informations"]=>
  string(0) ""
  ["active"]=>
  string(2) "on"
  ["image"]=>
  NULL
}

的相关信息

  

Nginx版本:nginx / 1.6.2

     

PHP 5.6.6(cli)(建于2015年3月9日00:40:37)   版权所有(c)1997-2015 PHP小组   Zend Engine v2.6.0,版权所有(c)1998-2015 Zend Technologies

     

Mac OS Yosemite


这是我使用nginx的第一个项目。

抱歉我的英文。

2 个答案:

答案 0 :(得分:0)

您可以尝试删除此部分:

@include ('partials.validator_field', ['field' => 'image'])

您已经打开了图像输入。这部分是为了什么?

答案 1 :(得分:0)

检查该表单的所有字段,我找到了另一个具有相同名称的字段。

新手问题。

谢谢你们。