繁体   English   中英

没有这样的文件或目录......vendor/composer/ClassLoader.php:444 (Laravel)

[英]No such file or directory in ...vendor/composer/ClassLoader.php:444 (Laravel)

我正在用 Laravel 编写代码。 当我尝试使用表单中的文件发帖时,它会抛出以下异常:

收到错误'PHP 消息:PHP 致命错误:未捕获的 ErrorException:包括(/var/www/vhosts/web2/httpdocs/vendor/composer/../../app/Exceptions/Handler.php):无法打开流: /var/www/vhosts/web2/httpdocs/vendor/composer/ClassLoader.php:444 中没有这样的文件或目录\n堆栈跟踪:\n#0
. . .

n#5 /var/www/vhosts/web2/httpdocs/vendor/laravel/framework/src/Illuminate/Container/Container.php(803): ReflectionClass->__construct('App\...', referer: (隐藏)

添加.blade.php:

@include('flash::message')
<form class="form-horizontal" enctype="multipart/form-data" action="{{action('SheetController@add')}}" method="post">
@csrf
<div class="form-group">
  <label class="col-md-4 control-label" for="icao">ICAO</label>  
  <div class="form-group col-md-4">
    <input placeholder="i.e. SAAC" class="form-control input-md" id="icao" name="icao" type="text" required />
  </div>
</div>

<div class="form-group">
  <label class="col-md-4 control-label" for="fir">FIR</label>  
  <div class="col-md-4">
    <select id="fir" name="fir" class="form-control input-md" required>
    <option value="SAEF">Ezeiza</option>
    <option value="SACF">C&oacute;rdoba</option>
    <option value="SAMF">Mendoza</option>
    <option value="SAVF">Comodoro Rivadavia</option>
    <option value="SARR">Resistencia</option>
   </select>
  </div>
</div>

<div class="form-group">
  <label class="col-md-4 control-label" for="version">Version</label>  
  <div class="form-group col-md-4">
    <input placeholder="i.e. 1.2" class="form-control input-md" id="version" name="version" type="text" required />
  </div>
</div>

<!-- File input-->
<div class="form-group">
  <label class="col-md-4 control-label" for="sheetfile">Archivo</label>  
  <div class="col-md-4">
    <input id="sheetfile" name="sheetfile" class="form-control input-md" required type="file">
  </div>
</div>

<hr style="margin-bottom:20px;">

<div class="form-group">
  <div class="btn-group">
    <button type="submit" class="btn btn-success">Add</button>
    <input type="reset" class="btn btn-warning" value="Reset" />
  </div>
</div>

</form>

工作表控制器.php:

public function add(Request $request)
{
    if(!empty($request->all()))
    {
        $sheet = new Sheet();
        $sheet->icao = $request->icao;
        $sheet->fir = $request->fir;
        $sheet->version = $request->version;

        $newName = $sheet->icao.'_v'.$sheet->version.'.pdf';

        if($request->file('sheetfile')->getClientOriginalExtension() != 'pdf')
        {
            flash()->error('File not allowed')->important();
        }
        else if($request->imagen->storeAs('ATC/Sheets', $newName, 'files'))
        {
            if($sheet->save()) flash()->success('Sheet added')->important();
            else flash()->error($sheet->errors()->first())->important();
        }
        else flash()->error('The file could not be uploaded.')->important();
    }
    return redirect()->action('SheetController@list');
}

我已经尝试过composer updatecomposer dump-autoload

有任何想法吗?

你可以简单地做,

composer update

它对我来说很好用。

如果 composer dump-autoload 对您不起作用,那么错误会告诉您在我的情况下缺少目录,数据库目录中没有迁移文件夹。

解决方案:在数据库目录中创建迁移文件夹。 您可以使用 IDE 或 Windows 的文件资源管理器执行此操作。 如果您使用 Git Bash,请 cd 到您项目的数据库文件夹,然后执行 mkdir 迁移以创建缺少的迁移目录。

只是在做

composer dump-autoload

为我工作。

我修复了使用这个工匠命令

php artisan cache:clear 
php artisan clear:config

只需删除 vendor 文件夹并执行 composer install。

你可以试试;

composer dump-autoload

根文件夹内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM