php artisan optimize返回(提供的文件名无效。)

问题描述 投票:1回答:3

我试图使用Forge + DigitalOcean发布我的新laravel项目,但由于'php artisan optimize'命令返回'提供的文件无效',我收到错误消息(我们无法在您的服务器上安装项目)。错误。

所以我修改了我的.env文件并将APP_DEBUG设置为false并尝试在本地运行该命令。我收到以下错误:

FP Artisan优化

生成优化的类加载器编译公共类

[RuntimeException的] 提供的文件名无效。

异常跟踪:()at / home /bubut/Code/TalalAttendance/vendor/classpreloader/classpreloader/src/ClassPreloader.php:105 ClassPreloader \ ClassPreloader-> getCode()at / home / bubut / Code / TalalAttendance / vendor / laravel / framework / src / Illuminate / Foundation / Console / OptimizeCommand.php:89 Illuminate \ Foundation \ Console \ OptimizeCommand-> compileClasses()at / home / bubut / Code / TalalAttendance / vendor / laravel / framework / src / Illuminate / Foundation / Console /OptimizeCommand.php:70 Illuminate \ Foundation \ Console \ OptimizeCommand-> fire()at n / a:n / a call_user_func_array()athome/bubut/Code/TalalAttendance/bootstrap/cache/compiled.php:1138 Illuminate \ Container \ Container-> call()at /home/bubut/Code/TalalAttendance/vendor/laravel/framework/src/Illuminate/Console/Command.php:150 Illuminate \ Console \ Command-> execute()at / home / bubut /Code/TalalAttendance/vendor/symfony/console/Command/Command.php:258 Symfony \ Component \ Console \ Command \ Command-> run()at / home / bubut / Code / TalalAttendance / vendor / laravel / framework / src /光量校正在/home/bubut/Code/TalalAttendance/vendor/symfony/console/Application.php:827 Symfony \ Component \ Console \ Application-> doRunCommand ()athome/bubut/Code/TalalAttendance/vendor/symfony/console/Application.php:191 Symfony \ Component \ Console \ Application-> doRun()at / home / bubut / Code / TalalAttendance / vendor / symfony / console /Application.php:122 Symfony \ Component \ Console \ Application-> run()at /home/bubut/Code/TalalAttendance/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:100 Illuminate \ Foundation \ Console \ Kernel-> handle()at / home / bubut / Code / TalalAttendance / artisan:36

laravel-5.1
3个回答
2
投票

Laravel允许您指定要编译的其他文件 - 通常是应用程序中每个请求使用的文件。

文件列表在/config/compile.php数组中的files中指定。如果您在那里指定了一个文件但它不存在(或者位置错误),那么工匠在尝试编译时会抛出该错误。

同样的事情发生在我身上,并从列表中删除不存在的文件修复了我的问题。


1
投票

同样的问题toady,并在Illuminate \ Foundation \ Console \ OptimizeCommand中调试后,我发现供应商文件夹中缺少一些symfony组件,即使使用composer install / update命令也是出于某种原因。

删除vendor文件夹下的内容,然后执行composer update以查看是否缺少组件。或者git clone整个项目和作曲家更新。请注意,composer install将检查composer.lock,如果它存在且组件丢失,则触发问题。


0
投票

注意:有关其他信息

如果您的文件位于app文件夹中的文件夹中,则应按列出这些文件的方式。

'files' => [
'app/your_folder_name/file_a.php',
'app/your_folder_name/file_b.php',
'app/your_folder_name/file_c.php',
]

希望这有助于任何人编译自定义函数。

© www.soinside.com 2019 - 2024. All rights reserved.