iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 4
0
Modern Web

Laravel學習系列 第 4

LARAVEL學習 DAY 4 利用VHOSTS加速多個專案間的開發

還沒規劃好要講什麼 畢竟昨天的都還沒處理完 只是周末怕忘記打先卡一個 會盡量在週末補上該有的進度

LARAVEL學習 DAY 4 利用VHOSTS加速多個專案間的開發

前言

我又來道歉了 雖然我覺得我講的東西很少 但是我會的東西應該不夠湊30天 所以打算拆文章 今天這篇集中火力講vhosts

前言 PART. 2

昨天那篇的Windows可能會缺PHP變數的問題
先在cmd打一下php -v看有沒有東西 沒有東西的話請往下看解決方法
新版的WAMP好像沒有這個問題了

請按下你的Windows+PAUSE 你會看到這個畫面

然後請按下紅框處 之後慢慢按下去(這插入圖片真他X難用)

下面這張要選到Path再去按編輯

之後新增出這行 版本記得對照一下

WHY VHOSTS

為何要用vhosts? 或者 什麼樣的人需要用vhosts?

  1. 身兼多個專案,不可能在那邊慢慢切換Web Server的根目錄
  2. 使用絕對路徑的同學...

關於Google Chrome的重大決策
所以我現在用.local...

WHY NOT PORT

這個東西說來話長 有時候port會撞在一起 比如說跟人爭3000... 或者不小心用到保留port
用port forwarding的話只建議在自己的開發環境
其他情況只適合用vhosts

WHO SUPPORT IT

Apache Nginx...幾乎都支援啦

HOW TO DO

先講Windows
Windows要取得hosts檔案的權限 方法
這是一種方法 另一種是直接獲得所有權之後再來給予編輯權限 比較麻煩 但是不用每次都這樣開
不過我最近測 新版的Windows 10沒有這樣的問題(1709 build 16299)
其路徑在C:\Windows\System32\drivers\etc\hosts
比如說我要把我的vhosts設成ironman.local就是這樣打
127.0.0.1 ironman.local

然後在vhosts的部分就是新增這段 或者修改原本的那段
叫出檔案的方法

加上這個

<VirtualHost *:80>
  ServerName ironman.local
  DocumentRoot "${INSTALL_DIR}/www/ironman/public"
</VirtualHost>

修改完之後重啟WAMP就可以了

再來就是Ubuntu 我把之前那個環境砍了... 算了 重來
一樣 先找hosts路徑 它在/etc/hosts
打法跟上面一樣
127.0.0.1 ironman.local
之後到我們的conf/etc/apache2/sites-enabled/000-default.conf
最好是新增一個VirtualHost標籤

<VirtualHost *:80>
  ServerName ironman.local
  DocumentRoot "/var/www/test/public"
</VirtualHost>

之後一樣重啟(讀)service apache2 reload

我手邊沒有MAMP環境... 它的hosts路徑一樣是在/etc/hosts
改法一樣是
127.0.0.1 ironman.local
然後apache的conf在/Applications/MAMP/conf/apache/httpd.conf
找到#Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf這行之後取消註解(把#砍掉)
然後到/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
打上

<VirtualHost *:80>
  ServerName ironman.local
  DocumentRoot "/Applications/MAMP/htdocs/project_name/public"
</VirtualHost>

重啟就可以了

結語

上面那個DocumentRoot都要隨著自己的資料夾名稱更改 不要抄我的
還有不要改了server的hosts結果client在那邊怎麼試都不行 因為你的client還是不認識它啊
打得有點心力交瘁 鐵人也才第幾天... 不容易啊
另一個讓我難過的是PO的文章看的人不多 也完全沒有人回應...
明天的就是真的CRUD了 真心不騙


上一篇
LARAVEL學習 DAY 3 環境安裝(續)
下一篇
LARAVEL學習 DAY 5 CRUD大小事 其實都是小事 - 今天不講CRUD
系列文
Laravel學習30

尚未有邦友留言

立即登入留言