我需要将laravel 5项目部署到客户端主机。
我的客户的计划是基本托管:没有cpanel或类似的Linux + MySql(即没有管理面板)。
我只能通过ftp访问,只能访问名为www.mycustomerweb.com的文件夹。这意味着我无法在www.mycustomerweb.com文件夹的同一级别创建目录。只在其中(我认为它被称为共享主机)。
一年前,我用这种方式部署了一个用Laravel 4制作的项目:
我的问题是:
我是否通过laravel 4项目完成所有工作?我是否已陷入安全问题(我的意思是,该网站是否安全)?
如何将laravel 5项目部署到同一站点?在Laravel 5中,我无法像Laravel 4那样摆脱公共文件夹。
现在,我已在localhost上设置了Laravel 5的全新安装,然后我通过ftp将所有文件上传到www.myclientweb.com文件夹:
当然这不是正确的方法......
我通过网络和Stackoverflow进行了长时间的搜索而没有运气。
真的很感激任何帮助。
感谢阅读。
答案 0 :(得分:10)
修改require __DIR__.'/../bootstrap/autoload.php';
进入require __DIR__.'/protected/bootstrap/autoload.php';
还可以修改$app = require_once __DIR__.'/../bootstrap/app.php';
进入$app = require_once __DIR__.'/protected/bootstrap/app.php';
答案 1 :(得分:8)
的更新的的
这是一个冒险的过程。通过使用此功能,您可以为恶意用户授予查找错误的权限。比如, http://project-url/storage/logs/laravel.log 仍然是开放的。
上一个答案:
那些几乎没有检查评论的人,
@Andrew F.已经给出了答案。
但他错过了其他一些文件,如作曲家和包。
格式化答案是:
RewriteRule ^(server\.php|gulpfile\.js|\.env|composer.*|package.*) - [F,L,NC]
答案 2 :(得分:2)
L4和L5之间没有区别,所以你对L4做了同样的事情。
答案 3 :(得分:2)
如果您尝试将Laravel 5.1运行到共享主机空间,或者您尝试将laravel 5 / 5.1放入共享主机上的子目录中,那么您可以像这样访问它:
http://mywebsite.com/mylaravel/
所以这个答案适合你,首先要确保你见面
Laravel 5.1要求:
- PHP 5.5
- PHP extension Mcrypt
- PHP extension Mbstring
- PHP extension OpenSSL
这里有两个教程:
答案 4 :(得分:0)
在Apache中,您可以实现类似
RewriteEngine on
RewriteBase /
# Rewrites all URLS without blog in them
RewriteCond %{REQUEST_URI} !^/blog/
# Rewrites all URLS [Replace "example" with the actual domain, without the TLD (.com, .net, .biz, etc)]
RewriteCond %{HTTP_HOST} ^(www\.)?example\.
# Rewrite all those to insert /folder
RewriteRule ^(.*)$ /blog/$1 [L]