laragon - Win 系統 laravel 開發環境

laravel 控制台

如果你是非 Win 環境的開發者,可以直接略過這篇文章

laragon 不同之處

原本使用 wagon 來當 laravel 開發環境,但後面發現 laragon 就試用了一陣子。基本上和 wagon 一樣,但多了以下我覺得比較方便功能

  • 透過 Menu > Quick create 能快速建立一個 laravel 專案,並設定好 C:\Windows\System32\drivers\etc\host 的內容
  • 將舊 Laravel 類型的專案丟進 www 後重新啟動 laragon,也會自動重新設定好 C:\Windows\System32\drivers\etc\host 的內容
  • 透過 Menu > Ngrok 可以快速建立專案外網連結分享給其它人瀏覽
  • 可以快速切換不同的 Document Root

下載與安裝

我選擇安裝官方提供的 Lite + Apache 版本,選 Lite 而非 Full 原因:

  • 我不打算使用 laragon 附加的 git、composer、node.js,因為那些限制要使用附加 cmder 才能跑。用 git 的 bash 會噴 command not found,所以都使用正規的 exe 方式去安裝 git、composer、node.js 等
  • 在 vscode 或 phpstorm 設定 terminal(終端機) 為改為附加的 cmder 時,開啟時候都會有點頓、輸入時字體會跑位,而且我已經習慣用 git 的 bash
  • Lite 版本的 Database 管理 UI 會使用 adminer.php 取代 Full 版本的 phpmyadmin

如果要使用 SSL(Auto generate SSL Certificate),就必需選用 Full 的版本

升級與擴充

下面記錄部分需求而進行升級與擴充的方法,如果你也是使用 laragon 當開發環境,或許可以參考看看

Apache 2.x (x64)

沒換成 x64 沒辦法跑 PHP (x64) 版本

  • 下載 httpd-2.4.25-win64-VC14.zip,將壓縮檔內 Apache24 的所有內容解壓至 C:\laragon\bin\apache\httpd-2.4.25-win64-VC14
  • Menu > MySQL > Apache 切換到 httpd-2.4.25-win64-VC14
  • 重新啟動 laragon 服務

PHP 7.x (x64)

先前在研究 Laravel5.3 Passport API 時會遇到 Year 2038 問題,可以從這篇文章找到相關問題以及有用的解法。當然最好的方法就是把 PHP 弄成 x64 的。

  • 下載 php-7.1.3-nts-Win32-VC14-x64.zip,將壓縮檔內所有內容解壓至C:\laragon\bin\php\php-7.1.3-nts-Win32-VC14-x64
  • php.ini-development 另存新檔 php.ini 並設定
    • sys_temp_dir = “C:/laragon/tmp”
    • upload_tmp_dir = “C:/laragon/tmp”
    • upload_max_filesize = 8G
    • post_max_size = 8G
  • Menu > PHP > Version 切換到 php-7.1.3-nts-Win32-VC14-x64
  • 重新啟動 laragon 服務

MySQL 5.7

套件 laravel-medialibrary 的 v5 版本,要求資料庫必需支援 json 類型,Laragon 的 MariaDB 版本不支援 json,而 MySQL 需要在 5.7 版後才支援 json

  • 下載 mysql-5.7.16-winx64.zip,將壓縮檔內 mysql-5.7.16-winx64 的所有內容解壓至 C:\laragon\bin\mysql\mysql-5.7.16-winx64
  • Menu > MySQL > Version 切換到 mysql-5.7.16-xwin64
  • 重新啟動 laragon 服務
  • 開始命令列執行 C:\laragon\bin\mysql\mysql-5.7.16-winx64\bin\mysql_upgrade.exe -u root -p --force

redis

使用 Laragon 附加的 redis 版本,每次按 Start All 整個畫面會卡住好久好久,甚至有當掉的感覺

  • 下載 Redis-x64-3.2.100.zip,將壓縮檔內所有內容解壓至 C:\laragon\bin\redis\Redis-x64-3.2.100
  • 編輯 C:\laragon\usr\laragon.ini,將 [redis] 的部分改成 Version=Redis-x64-3.2.100
  • Menu > Preferences > Services & Ports 將 Redis 服務打勾後,重新啟動 laragon 服務

imagick

套件 laravel-medialibrary 需要它,效能上也比 GD 好!

  • 下載 ImageMagick-6.9.3-7-vc14-x64.zip,將壓縮檔內所有內容解壓至 C:\laragon\bin\imagemagick\ImageMagick-6.9.3-7-vc14-x64
  • 需自行加入 C:\laragon\bin\imagemagick\ImageMagick-6.9.3-7-vc14-x64\bin 至 PATH 環境變數
  • 下載 php_imagick-3.4.3rc4-7.1-nts-vc14-x64.zip,將解壓後的 php_imagick.dll 複製至 C:\laragon\bin\php\php-7.1.3-nts-Win32-VC14-x64\ext,然後將多個以 CORE_RL_ 開頭的 dll 檔案複製至 C:\Windows\System32
  • C:\laragon\bin\php\php-7.1.3-nts-Win32-VC14-x64\php.ini 追加 extension=php_imagick.dll
  • 建議同時啟用 fileinfo 與 exif 的 extension
  • 重新啟動 laragon 服務

ffmpeg

套件 laravel-medialibrary 需要它來產生影片預覽擷圖

  • 下載 ffmpeg-3.2.4-win64-static.zip,將壓縮檔內 ffmpeg-3.2.4-win64-static 的所有內容解壓至 C:\laragon\bin\ffmpeg\ffmpeg-3.2.4-win64-static
  • 需自行加入 C:\laragon\bin\ffmpeg\ffmpeg-3.2.4-win64-static\bin 至 PATH 環境變數

xdebug

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[XDebug]
zend_extension=php_xdebug-2.5.1-7.1-vc14-nts-x86_64.dll
xdebug.idekey = "Intellij"
xdebug.profiler_append = 0
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 1
xdebug.profiler_output_dir = "C:/Development/Laragon/tmp/xdebug"
xdebug.profiler_output_name = "cachegrind.out.%u-%H_%R"
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = localhost
xdebug.remote_port = 9000
xdebug.var_display_max_depth = 20
xdebug.var_display_max_data = 2048
xdebug.trace_output_dir = "C:/Development/Laragon/tmp/xdebug"
;xdebug.trace_enable_trigger=1
;xdebug.trace_output_name=xdebug.trace.%t.%R
;xdebug.show_mem_delta=1
;xdebug.collect_params=4
;xdebug.collect_return=1
xdebug.trace_format=1
  • 重新啟動 laragon 服務

目錄

  1. 1. laragon 不同之處
  2. 2. 下載與安裝
  3. 3. 升級與擴充
    1. 3.1. Apache 2.x (x64)
    2. 3.2. PHP 7.x (x64)
    3. 3.3. MySQL 5.7
    4. 3.4. redis
    5. 3.5. imagick
    6. 3.6. ffmpeg
    7. 3.7. xdebug