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 storage

我如何用Laravel的Storage的sftp driver同步檔案

SFTP的安裝及設定不在本篇討論範圍,如果您想了解,建議可以看另一篇https://www.ccc.tc/article/Laravel-SFTP-Driver-Configuration本篇我要用極快速的Sample Demo我如何用自建的artisan的指令同步遠端的資料到本地端。或許有人會問為何不用rsync,呀本篇就是要介紹用Storage的方式同步檔案。🤪直接看code吧,我在config/filesystems.php設定了一個sftp磁碟叫ccc。

docker,laravel,nfs

Docker在macOS上的NFS

D-laravel的nfs模式,在這篇文章您可以了解到,如何在macOS使用NFS+Docker。

dlaravel

如何啟動D-Laravel上的supervisor

由於queue workers是一個長期執行的程序,所以我們會需要一個程序管理員supervisor來監控Linux系統上的process是否持續運作,例如:當queue:work運作失敗時,可以自動重啟queue:work process。很幸運的D-Laravel已內建supervisor囉,所以不需要再自行安裝即可使用。 本文簡單的介紹,我們如何來啟動container內的supervisor。