【问题标题】:Laravel website on a shared webhost that does not provide any shell?Laravel 网站在不提供任何外壳的共享虚拟主机上?
【发布时间】:2016-02-08 13:31:26
【问题描述】:

我的本​​地主机上有一个 laravel 5 站点。我想在共享主机上启动它,但主机既没有为我提供 shell,也没有安装 composer。我还能在这台主机上启动我的网站吗?如果是,那怎么办?如果答案是否定的,那我该怎么办?

【问题讨论】:

  • 我建议你使用 Laravel Forge 托管,它非常适合 Laravel 网站。 forge.laravel.com
  • 您应该使用具有外壳访问权限的虚拟机/专用服务器。一个 hacky 解决方法就是复制整个文件夹,包括供应商文件夹。
  • 无外壳访问 = 获取新主机。没有它,你的生活会变得很麻烦。

标签: php laravel composer-php web-hosting shared-hosting


【解决方案1】:

是的,如果您愿意,您可以通过文件管理器上传。请按照以下步骤操作

  1. 检查 PHP 5.4 的服务器配置(这是因为 .htaccess 文件的每一个小改动都可能改变该配置)

  2. 在 public_html 同级创建一个目录,并将你的项目放入该文件夹(public 文件夹除外)。

  3. 将public(L5)的内容直接放到public_html上(不要覆盖.htaccess文件)

现在 Laravel 5 的公共目录的所有文件都驻留在 public_html 内部。

转到 index.php 并编辑第 22 行

#From this
require __DIR__.'/../bootstrap/autoload.php';
#To this
require __DIR__.'/../[framework-folder]/bootstrap/autoload.php';

在第 36 行

#From this 
$app = require_once __DIR__.'/../bootstrap/app.php';
#To this
$app = require_once __DIR__.'/../[framework-folder]/bootstrap/app.php';

然后编辑.htaccess文件并添加一些行

RewriteEngine On
# Redirect Trailing Slashes...
RewriteCond %{REQUEST_URI} !^
RewriteRule ^(.*)$ /$1 [L]  

希望这可行。为我工作。

【讨论】:

    【解决方案2】:

    你可以但是你需要在composer install之后上传你的本地目录,包括vendor.env使用和FTP客户端。我不推荐它,它使开发非常困难。也许看看像Heroku 这样的paas 让你免费开始。

    您还需要确保共享主机支持以下内容:

    • PHP >= 5.5.9
    • OpenSSL PHP 扩展
    • PDO PHP 扩展
    • Mbstring PHP 扩展
    • Tokenizer PHP 扩展

    取自docs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-21
      • 2013-09-17
      • 2011-02-15
      相关资源
      最近更新 更多