by Devin Yang

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

前言

在智邦的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,woops

Laravel 5.5 Woops回来了,让我们来瞧瞧。

Woops是PHP错误处理的框架,在Laravel 4时预载了,但在之后的Laravel 5.0时移除,现在5.5又回来啦.... Whoops的一些功能包括: -灵活的,基於堆栈的错误处理 -使用目前独立函式库不需要依赖关系 -用於处理异常,跟框架及其数据的简单API -包括一个极漂亮错误页面您的网页应用进程内 -包括直接在编辑器和IDE中打开引用的文档的功能 -包括不同响应格式的处理进程(JSON,XML,SOAP) -易於扩展和与现有函式库 -清洁,结构良好且经过验证的代

dlaravel

安全的更新D-Laravel

如何升级目前的D-Laravel。 如果您目前使用环境上很顺,没碰到问题,可以不用更新。 如果您想采用最新的版本,及bug修正等,请仔细阅读本文, 为了确保顺利升级,以下是建议的D-Laravel升级方式。

Laravel,artisan

关於Laravel的artisan中的--env的操作

本文采用Lravel 9.40.1进行操作我相信很多人都知道了--env的用法,但我还是提供一下信息给Laravel的初学者。在artisan的命令中,我们能透过--env来指定使用不同的.env档,这样在不同的子域名下,我就能用不同的环境甚至是不同的数据库。大家应该也有注意到,本站采用的是多语的环境,写两套吗?当然没有,基本上我建了多个.env在同一个Project中。