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

需要登入才可留言!

类似文章


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.

php,docker,dlaravel

我创建的phpenv容器环境简单介绍

没时间拍介绍影片,我就来随便抓些画面介绍我使用的容器环境deviny/phpenv。https://github.com/DevinY/phpenvphpenv算是我之前D-Laravel开源项目的进化版本,概念上延用了很多Dlaravel的操作方式。容器的更新上偏向使用者自行控制去Build自己的image,所以我不太会去更动版号了,其实D-Laravel的php版号,好像我也很久没动啦:p 

laravel,livewire

livewire重要笔记

在开始您的 Livewire 之旅之前,以下是关於公开属性(public properities)的三项基本注意事项:一、属性名称不能与为 Livewire 保留的属性名称冲突(例如$rules或$message)二、保存在公开属性(public properities)中的数据,对前端 JavaScript 是可见的。因此,您不应在其中保存敏感数据。三、属性只能是 JavaScript 友好的数据类型(字符串、整数、数组、布尔值),或以下 PHP 类型之一:Stringable、Collection、DateTime、Model、EloquentCollection。