我试图使用Forge DigitalOcean发布我的新laravel项目,但由于php artisan optimize
命令返回提供的文件名无效,我收到了错误消息(我们无法在您的服务器上安装项目)代码>错误。
所以我修改了我的. env文件,并将APP_DEBUG设置为false,并尝试在本地运行该命令。我得到了以下错误:
php artisan优化-v
生成优化类加载器编译公共类[RuntimeException]提供的文件名无效<异常跟踪:()位于/home/bubut/Code/talalantendance/vendor/classpreload/classpreload/src/classpreload。php:105类预加载程序\类预加载程序-
Laravel允许您指定要编译的其他文件——通常是应用程序中每个请求都使用的文件。
文件列表在file
数组中的/config/compile.php
中指定。如果您在那里指定了一个文件,但它不存在(或者位置错误),那么artisan将在尝试编译它时抛出该错误。
同样的事情发生在我身上,从列表中删除不存在的文件解决了我的问题。
同样的问题今天,和调试后,在照明\基金会\控制台\优化命令
,我发现一些Symfony组件丢失在供应商文件夹,甚至与作曲家安装/更新命令出于某种原因。
删除供应商文件夹下的内容,然后执行编辑器更新
以查看是否返回丢失的组件。或git克隆整个项目和作曲家更新。请注意,作曲家安装将检查composer.lock,如果它存在和组件丢失在那里,问题触发。
注:欲了解更多信息
如果您的文件位于app folder内的文件夹中,则应按此方式列出它们。
'files' => [
'app/your_folder_name/file_a.php',
'app/your_folder_name/file_b.php',
'app/your_folder_name/file_c.php',
]
希望这能帮助任何编译自定义函数的人。