Laravel网站在不提供任何外壳的共享虚拟主机上


Laravel website on a shared webhost that does not provide any shell?

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

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

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

  2. 在同一public_html级别创建一个目录,并将项目放在该文件夹(公用文件夹除外)中。

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

现在public_html Laravel 5公共目录的所有文件都位于其中。

转到索引.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]  

希望这有效。为我工作。

你可以

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

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

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

从文档中获取