在Yii2错误中未安装fileinfo PHP扩展

时间:2016-01-11 07:11:07

标签: yii2

我的网络应用程序附带了我的文件上传功能。代码在我的localhost中完美运行,但在我上传的真实服务器中却没有。我将目录权限更改为可写。

if ($model->load(Yii::$app->request->post())) 
    {   
       $session = Yii::$app->session;
       $user_id = $session->get('role');

        //get the instance of the uploaded file
        $imageName = $model->Fname."_".$model->Lname;

        $model->file = UploadedFile::getInstance($model, 'file');

        if($model->file)
        {    
          //SHA512 base password encription
          $model->password = crypt($model->repeatpassword,'$6$rounds=1212$16charactersalt');

          //save image pathe to db
          $model->image = 'uploads/profile_image/'.$imageName.'.'.$model->file->extension;
          $model->role = $user_id;
          $model->save();
          $model->file->saveAs( 'uploads/profile_image/'.$imageName.'.'.$model->file->extension );  
        }          
        //return $this->redirect(['index']);
        return $this->goHome();
    } 

Login form

After submitting the form

2 个答案:

答案 0 :(得分:3)

我认为您的Yii2代码中没有任何问题。 这可能是PHP配置的问题。

默认情况下,自PHP 5.3.0起,

文件信息扩展已启用

Windows用户必须在php.ini中包含捆绑的php_fileinfo.dll DLL文件才能启用此扩展。

请访问以下链接了解更多详情。

http://php.net/manual/en/fileinfo.installation.php

答案 1 :(得分:1)

你需要在你的php.ini中取消注释:

extension=php_fileinfo.dll