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

需要登入才可留言!

类似文章


dlaravel

使用docker in docker创建D-Laravel测试环境。

D-Laravel是一个极易使用并且极有弹性的Laravel开发环境,只要您是Mac的使用者,就算不懂Docker也可以透过他来创建Laravel的项目,进行开发,由於最近添加.env的功能新功能时,急者push,却没有完整测试,搞出了一堆新的Bug,所以,这次新建了一个新的dlaravel_test,bash的测试工具,透过doceker in docker的方式来跑测试。确保D-Laravel的每一次释出都能是一个稳定的版本。

laravel

Laravel上的jenkins CI Server pipeline基本运用教程

您想透过docker创建持续集成及交付的CI Server给Laravel使用吗? 在CI Server上运行laravel dusk及phpunit轻松搞定自动化测试,及相关日志。 看完本篇或许您会发现CI/CD有多简单。 我指基本的运用。

docker,dlaravel

D-Laravel 1.5.5变更说明

D-Laravel的fpm image在php 7.2.1以前是使用docker php官方的dockerfile重build的, 并且所以我可以指定了fpm的默认的owner是dlaravel, --with-fpm-user=USER Set the user for php-fpm to run as. (default: nobody) --with-fpm-group=GRP Set the group for php-fpm to run as.