Laravel共享主机 - 子域名

时间:2015-02-11 19:53:07

标签: php laravel deployment subdomain shared-hosting

我正在尝试在共享主机上部署我的laravel应用程序。它应该部署在www.subdomain.something.com

我的文件夹结构是:

    /laravel
       app/
       vendor/
       bootstrap/
       server.php
       artisan
       composer.json
       composer.lock
       phpunit.xml
   /public_html
       subdomain/
       index.php

我的index.php有以下路径:

require '/../../laravel/bootstrap/autoload.php';
$app = require_once '/../../laravel/bootstrap/start.php';

我的路径.php

'app' => __DIR__.'/../../laravel/app',
'public' => __DIR__.'/../../public_html/subdomain',
'base' => __DIR__.'/../../laravel',
'storage' => __DIR__.'/../../laravel/app/storage',

谁能看到我错过的东西?我尝试了谷歌,并找到了一堆循序渐进的解释,但似乎没有任何作用 - 它导致500内部服务器错误。

感谢您的反馈

韦斯利

4 个答案:

答案 0 :(得分:1)

遵循第一条规则here。 如果您使用第一条规则,那么一切都应该正常。但不知怎的,如果你面对500 Internal Server Error,那么通过public_html登录到你的服务器ssh目录并提供以下命令。

sudo chmod 755 -R laravel

chmod -R o+w laravel/storage

此处laravel是您的Laravel项目目录。

答案 1 :(得分:0)

确保您拥有app/storage/和所有子目录的写权限。这听起来像是罪魁祸首,但如果没有,那么看看你是否在app/storage/logs目录中出现任何错误。如果没有,请查看是否可以解析服务器日志。

答案 2 :(得分:0)

我遇到了类似的问题并找到了解决方案。也许有人可以帮忙解决这个问题,

Install LARAVEL 5 Locally Same as Share Hosting Directory (Deploy L5 Share Hosting Solution)

答案 3 :(得分:0)

我试图在DreamHost的共享主机上部署我的第一个Laravel 8应用程序,但确实遇到了一些问题。

  1. 首先,我无法使用作曲家。 Composer 1可用,但是我无法将其升级到Composer2。(出现错误)
  2. 最后,我最终将所有文件从本地系统上传到子域根文件夹(例如cota.mydomain.com)
  3. 尝试 cota.mydomain.com 时,出现404错误。
  4. 当我将URL更改为 cota.mydomain.com/public/index.php 时,该应用程序开始工作。但是,所有定义为href =“ / home”或 href =“ / client / create” 的href链接都开始显示“未找到”错误。要解决此问题,我必须在href中使用命名路由,例如 href =“ {{route('client.show',['id'=> $ client-> id])}}” 。这解决了问题,但是显示的URL包含public / index.php,例如 cota.mydomain.com/public/index.php/client/show/1
  5. 为进一步解决该问题,我将子域的Web文件夹(根文件夹)更改为包括public,即cota.mydomain.com/public
  6. 接下来,我在cota.mydomain.con中添加了具有以下内容的index.php header("Location: http://www.cota.mydomain.com/public/index.php"); die();
  7. 这解决了所有问题,包括从链接URL删除public和index.php。