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

需要登入才可留言!

類似的文章


dlaravel

如何設定外網IP給D-Laravel上的Project?

這個影片介紹了在D-Laravel環境上,我們如何指定Public Ip(公有IP)給特定的Project的使用。 不論是外部Production環境的設定或是內網自己專案Demo時,都可參考此影片的設定方式哦 。 在影片中雖然我採用了PPPoE撥接的外網IP進行說明,但是我們改變一下也可以用自己電腦上的區網IP。 這樣就可以讓同事連到我們的D-Laravel的Project了。

wordpress, d-laravel, docker, docker-compose

如何用D-Laravel安裝Wordpress

約8分鐘的教學影片,介紹在D-Laravel上安裝Wordpress. D-Laravel是一個docker-compose的Laravel框架開發環境,但不代表他不能拿來裝別的東西。 這個影片,介紹使用D-Laravel安裝非Laravel的PHP專案, 您可以學到D-Laravel上的相關指令用法: ./create --host用法, docker-compose up -d及 ./console mysql用法, D-Laravel v1.0.0版後的資料庫連線設定方式。

laravel範例,laravel教學,livewire範例,laravel

如何在Laravel Livewire元件設定中文化的錯誤訊息

本文透過簡易的Laravel livewire範例,看看livewire元件如何驗證使用者輸入錯誤,並顯示中文錯誤訊息。