by Devin Yang

建立于: 7年前 ( 更新: 7年前 )

前言

在智邦的Linux 7.0平台安装Laravel 5.4,成功运行案例分享,
因为原本是旧版的PHP运行环境,第一次可以免费转移至新版本,
因此开了一个测试的php 7.0环境给我们测试,小调整后,
Laravel的环境确实可在智邦的代管php 7.0.x主机上运行,
本文介绍,我如何在智邦成功的运行Laravel的网站过程。

以下内容仅供参考

请一定要求试用,我无法保证您的环境是可正常运行的。
 

上传

一、透过FTP上传Laravel整个Project到主机商,原智邦上面的www更名为www_old,上传完成后将Laravel的public数据夹更名为www。


设置与调整

二、智邦使用的是Apache伺服器,.htaccess档不可以用默认的。
使用官网提供的简易的版本,确认您的public/.htaccess的文件像下方这样:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

三、强制转换成SSL(非必要),如果您的网站有使用HTTPS。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]


四、这里要修正public_path();让他印出正确的路径,

举例: 智邦的网站根目录是/raid/vhost/example.com.tw/www (用echo __DIR__;显示时),
但是Laravel的public_path();会变成.../raid/vhost/example.com.tw/public, 不正确,
因此可透过下方的设置,让public_path()显示为/raid/vhost/example.com.tw/www,
智邦Apache主机所设置的网站根目录。

我们可透过调整public/index.php的内容,来修正上述的问题。
$app = require_once __DIR__.'/../bootstrap/app.php';
//  设置public数据夹返回目前的目录(即是www)
$app->bind('path.public', function() {
return __DIR__;
});

其他需注意的可能是filessystem的目录要调整。
.env数据库连线等相关调整。

 

Tags: web-hosting laravel

Devin Yang

文章内容无法一一说明,如果您有什么不了解处,欢印提问哦:)

No Comment

Post your comment

需要登入才可留言!

类似文章


laravel,oauth2

我最常用的Laravel passport命令

Laravel提供了相当多好用的Package,像Passport就是其中之一,当网站需要自架OAuth2验证主机时,真的是省时省力。本站为例,因为采前后台分离机制(有两个不同的Laravel项目),我都透过前台的WEB进行验证。基本上,我还有很多其他不同的项目,也都靠Laravel提供的OAuth2就搞定跨域验证。

Laravel, Packages,

什么样的包你必定装在所有你创建的Laravel应用进程上呢?

有什么样的包,你肯定会装在你的Laravel应用进程上呢? 这里有四星的包,几乎大家都会装, 点进来看看,我怎么说,我的实际使用使用心得分享...

laravel,dotenv,seo

我如何依子域名动态加载Laravel不同的dotenv档

开始前先来抱怨一下,本来我的网站可以依使用者的浏览器自动显示不同的语系的。这有何不可,但Google的SEO似乎不喜欢这么搞,他建议每种语言使用不同的网址,不要用cookie或浏览器设置来调整网页内容,好吧那我只能乖乖就范了。他的建议作法,第一种方案:依国家区分,像是example.tw或example.de这真的天方夜谭怎么可能,要嘛收购被注册的域名,要不然取个全球没人会取的怪域名还比较有机会。第二种方案:用子域名区分,这正式我准备要做的,等等来说明在Laravel中怎么弄。第三种方案:example.com/tw/ 之类的,Apple好像就这么弄的。第四种方案:site.com?loc=tw之类,不建议使用,确实我也觉的这个不是一个好主意。