为了账号安全,请及时绑定邮箱和手机立即绑定

将Laravel项目上传到Web服务器

将Laravel项目上传到Web服务器

30秒到达战场 2019-12-17 14:44:12
我试图将我的Laravel项目上载到Web服务器,但是我过去的两次尝试均未成功。我相信我没有将文件上传到正确的位置。这是我的Web服务器的结构-> 我是否正确地说我需要将所有所有laravel文件上传到public_html?这是我的Laravel项目的目录:编辑:我现在已将所有文件添加到根文件夹中,并公共添加到public_html,但是我的所有路由似乎均不起作用。(它们在localhost上完美运行)。一切都抛出404
查看完整描述

3 回答

?
MM们

TA贡献1886条经验 获得超2个赞

不,但是您有两种选择:


最简单的方法是将所有文件上载到您所在的目录(即cPanel用户主目录)中,并将public的内容放入public_html中。这样,您的目录结构将是这样的(有点混乱,但它可以工作):


/

    .composer/

    .cpanel/

    ...

    app/                 <- your laravel app directory

    etc/

    bootstrap/           <- your laravel bootstrap directory

    mail/

    public_html/         <- your laravel public directory

    vendor/

    artisan              <- your project's root files

您可能还需要编辑bootstrap/paths.php以指向正确的公共目录。


如果您不希望将所有这些文件都放在该“根”目录中,则另一种解决方案是将它们放在仍位于根目录中的它们自己的目录(可能是“ laravel”)中,然后编辑路径以使其正常工作。不过,您仍然需要将中的内容放入public中public_html,这一次编辑您的内容public_html/index.php以正确引导应用程序。这样,您的文件夹结构会更加整洁(尽管由于更多地干扰了框架的设计结构,所以路径可能会有些令人头疼):


/

    .composer/

    .cpanel/

    ...

    etc/

    laravel/      <- a directory containing all your project files except public

        app/

        bootstrap/

        vendor/

        artisan

    mail/

    public_html/  <- your laravel public directory


查看完整回答
反对 回复 2019-12-17
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

我相信-您的Laravel文件/文件夹不应该放在根目录中。


例如,如果您的域指向public_html目录,那么所有内容都应放在该目录中。怎么样 ?让我告诉你


复制公共html中的所有文件和文件夹(包括公共文件夹)

复制公用文件夹的所有内容并将其粘贴到文档根目录(即public_html)中

删除公用文件夹

打开您的bootstrap / paths.php,然后更改'public' => __DIR__.'/../public',为'public' => __DIR__.'/..',


最后在index.php中,


更改


require __DIR__.'/../bootstrap/autoload.php';


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

进入


require __DIR__.'/bootstrap/autoload.php';


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

您的Laravel应用程序现在应该可以运行了。


查看完整回答
反对 回复 2019-12-17
  • 3 回答
  • 0 关注
  • 434 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信