Laravel 发布到生产环境,即正式使用的发布时需要所有项目文件吗

简介

我是laravel小白,刚会做简单增删改查,遇到发布问题,请大家指教


自我理解

  1. laravel生产环境文件会比开发环境文件少的多
  2. 发布后只会包含编译后的文件
  3. 发布后只有public目录是有用的

环境条件

  1. 百度云虚拟主机BCH
  2. 开发时使用homestead,laravel5.5,php7.0,sqlite

问题

当我拷贝了public文件夹到虚拟主机webroot中,会报出异常:

**Warning**: require(/home/bae/app/../vendor/autoload.php): failed to open stream: No such file or directory in **/home/bae/app/index.php** on line **24**

**Fatal error**: require(): Failed opening required '/home/bae/app/../vendor/autoload.php' (include_path='.:/home/admin/php/share/php:/home/admin/php/share/pear:/home/admin/runtime/baeapi') in **/home/bae/app/index.php** on line **24**

如果您有云服务器发布经验也请赐教,谢谢

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
最佳答案

@Mr_Hao7025

public/index.php的一段代码
require __DIR__.'/../vendor/autoload.php';
//包含当前目录的上级文件夹的vendor/autoload.php文件

$app = require_once __DIR__.'/../bootstrap/app.php';

可以看到,vendor必须要。

建议你把全部文件复制过去。

4年前 评论
讨论数量: 7

等等 拷贝public目录
应该拷贝项目目录 你这基础都不牢固

4年前 评论

@lyxxxh 谢谢大佬关注
有没有参考的文章,我也很苦恼基础不牢固的问题

4年前 评论

我不是大佬,
参考文章的话,没有。

看你说的发布,你应该是写编译型语言的。

但是php是解释型,几乎所有文件都需要。

4年前 评论

@lyxxxh 谢谢
对我来说你就是大佬,
vendor文件夹都需要拷贝到虚拟主机吗?

4年前 评论

@Mr_Hao7025

public/index.php的一段代码
require __DIR__.'/../vendor/autoload.php';
//包含当前目录的上级文件夹的vendor/autoload.php文件

$app = require_once __DIR__.'/../bootstrap/app.php';

可以看到,vendor必须要。

建议你把全部文件复制过去。

4年前 评论

楼主之前是写前端的吧,需要注意 前端用了脚手架只需要在线上部署构建好的文件就可以。
Laravel需要将整个项目目录上传。

4年前 评论

@ShareMan 谢谢大佬关注
明白了

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!