在...vendor/composer/ClassLoader.php:444 (Laravel) 中没有这样的文件或目录
No such file or directory in ...vendor/composer/ClassLoader.php:444 (Laravel)
我正在 Laravel 中编写代码。当我尝试用表单中的文件创建 post 时,它会抛出以下异常:
Got error 'PHP message: PHP Fatal error: Uncaught ErrorException: include(/var/www/vhosts/web2/httpdocs/vendor/composer/../../app/Exceptions/Handler.php): failed to open stream: No such file or directory in /var/www/vhosts/web2/httpdocs/vendor/composer/ClassLoader.php:444\nStack trace:\n#0
.
.
.
n#5 /var/www/vhosts/web2/httpdocs/vendor/laravel/framework/src/Illuminate/Container/Container.php(803): ReflectionClass->__construct('App\...', referer: (hidden)
add.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ó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>
SheetController.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 update
和composer dump-autoload
有什么想法吗?
你可以试试;
composer dump-autoload
在根文件夹中。
你可以简单地做,
composer update
它对我来说很好用。
如果作曲家 dump-autoload 不适合你,那么错误会告诉你在我的例子中缺少一个目录,数据库目录中没有迁移文件夹。
解决方案:在数据库目录中创建迁移文件夹。您可以使用 IDE 或 Windows 的文件资源管理器执行此操作。如果您使用 Git Bash,请 cd 到项目的数据库文件夹,然后执行 mkdir 迁移以创建缺少的迁移目录。
正在做
composer dump-autoload
对我有用。
我使用这个 artisan 命令修复了问题
php artisan cache:clear
php artisan config:clear
我正在 Laravel 中编写代码。当我尝试用表单中的文件创建 post 时,它会抛出以下异常:
Got error 'PHP message: PHP Fatal error: Uncaught ErrorException: include(/var/www/vhosts/web2/httpdocs/vendor/composer/../../app/Exceptions/Handler.php): failed to open stream: No such file or directory in /var/www/vhosts/web2/httpdocs/vendor/composer/ClassLoader.php:444\nStack trace:\n#0
. . .n#5 /var/www/vhosts/web2/httpdocs/vendor/laravel/framework/src/Illuminate/Container/Container.php(803): ReflectionClass->__construct('App\...', referer: (hidden)
add.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ó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>
SheetController.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 update
和composer dump-autoload
有什么想法吗?
你可以试试;
composer dump-autoload
在根文件夹中。
你可以简单地做,
composer update
它对我来说很好用。
如果作曲家 dump-autoload 不适合你,那么错误会告诉你在我的例子中缺少一个目录,数据库目录中没有迁移文件夹。
解决方案:在数据库目录中创建迁移文件夹。您可以使用 IDE 或 Windows 的文件资源管理器执行此操作。如果您使用 Git Bash,请 cd 到项目的数据库文件夹,然后执行 mkdir 迁移以创建缺少的迁移目录。
正在做
composer dump-autoload
对我有用。
我使用这个 artisan 命令修复了问题
php artisan cache:clear
php artisan config:clear