當你準備開發一個 PHP 應用的時候,你可能會考慮安裝這些本地 Web 服務器:XAMPP,WAMP , Laragon
XAMPP: 如果你是一個 PHP Web 應用程式的初級開發者,這可能是你首選要使用的環境, XAMPP 只提供了最基本的 PHP Web 應用服務,其中 Apache2 作為服務器,MySQL 作為資料庫,還有 phpMyAdmin 這樣的網頁端的資料庫管理工具,
WAMP:它類似于 XAMPP,區別在于它有 virtualhost 管理器,可用于使您的本地網站 URL 可自定義,看起來更漂亮,
Laragon:它類似于 WAMP,但它使用了一些主流服務來支持您的開發,如 Redis、Memcached、郵件捕捉器等等,這是我要告訴你的第二個最完整的本地 Web 服務器解決方案,
這些本地 web 服務器解決方案是好的,但如果我想,,,更多?
基于 Docker 的即用型解決方案
認識 Laradock, 這是一個基于 Docker 的完整的 PHP 開發環境,它預先配置好了,可以開箱即用, 在你的機器上使用 Elasticsearch, Selenium, Sonarqube 等,一些主流的服務不再是夢想,
- projects
|_ my-awesome-laravel-app
現在我們從 Laradock 的官方 GitHub 地址下載或者使用 git 克隆它,并把它放置在 projects 目錄下,
- projects |_ my-awesome-laravel-app |_ laradock
在 laradock 目錄中,你可以找到一個 env-example 檔案,克隆它到新的檔案中,并重命名為.env
- projects
|_ my-awesome-laravel-app
|_ laradock
|_ ...
|_ env-example
|_ .env
我們將為我們出色的 Laravel 應用使用必要的容器,分別是 nginx,mysql 或許還有 phpMyAdmin,
設定 Nginx
前往 laradock > nginx > sites 目錄,你可以發現一個 laravel.conf.example 檔案,克隆到新檔案
并將其重命名為 my-awesome-laravel-app.local.conf 的新檔案中(可以給該檔案起任何名字,但要確保它以.conf 結尾),
- projects
|_ my-awesome-laravel-app
|_ laradock
|_ ...
|_ nginx
|_ sites
|_ ...
|_ my-awesome-laravel-app.local.conf
|_ laravel.conf.example
|_ env-example
|_ .env
在 my-awesome-laravel-app.local.conf 檔案中,將 server_name 更改為所需的 URL,將 root 更改為 laravel 應用程式的公共檔案夾路徑,
server {
...
server_name my-awesome-laravel-app.local;
root /var/www/my-awesome-laravel-app/public;
index index.php index.html index.htm;
...
}
就是 nginx 啊!
設定 MySQL 和 PhpMyAdmin
不需要特別的設定,但我建議對 MySQL 使用 5.7 版本,因為上次我使用最新版本嘗試時遇到了問題,
版本,請將 Laradock /.env 檔案中的 MYSQL_VERSION 值從最新更改為 5.7,
可以在此處使用的預配置的用戶,代碼如下:
Root User:
- username:
root| password:root
Non-Root User:
- username:
default| password:secret
設定您的 Laravel 應用程式的.env 檔案
除非您正確配置 Laravel 應用程式的 .env 檔案,否則您的應用程式將無法運行,需要注意的是 DB_HOST,其值必須是 mysql 而不是 localhost,下面是您必須檢查的 env 引數:
APP_NAME=Laravel APP_ENV=local APP_KEY=base64:WqvIsN6XYA9NMHjTWIthKC1Mdi+WWi7/iRtz/GnibLQ= APP_DEBUG=true APP_URL=http://my-awesome-laravel-app.local LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=your_awesome_database DB_USERNAME=default DB_PASSWORD=secret ...
運行容器
如果你在你的機器上使用 apache2 或 mysql 這樣的服務(使用 8080,80,3306 埠),請在運行 laradock 的容器之前先停止它們,
通過使用你喜歡的命令列界面(順便說一下,我正在使用 Hyper,這是一個很酷的 CLI),進入 laradock 目錄,并執行這個 docker-compose 命令:
docker-compose up -d nginx mysql phpmyadmin
上面的命令將只拉取(pull)和構建(build)使用過的容器(nginx、mysql、phpmyadmin)和名為 workspace 的基本 laradock 容器,第一次拉取和構建程序將需要很長時間(并且需要連接你的互聯網),
完成后,通過執行以下命令,你可以檢查容器狀態是否運行了:
docker-compose ps
現在,你要做的事就是添加 my-awesome-laravel-app.local 域名到你的 hosts 檔案,對于 Windows,它應該在 C:\Windows\System32\drivers\etc\hosts,而對于基于 linux 的,它應該在 /etc/hosts,
... 127.0.0.1 my-awesome-laravel-app.local ...
現在,你可以通過在瀏覽器上打開 http://my-awesome-laravel-app.local 來訪問你的 laravel 應用程式,
使用 phpMyAdmin 創建資料庫
不要忘記使用 phpMyAdmin 創建 your_awesome_database,它應該是可以在 http://localhost:8080 中訪問的,你可以使用上面的任意給定用戶憑證進行登錄,并確保使用 mysql 而不是 localhost 來填寫 server 表單,
進入 Workspace 容器的 bash
你可能會忘記在 laravel app 中運行 composer install,不要擔心,你可以使用 workspace bash,它包含 laravel app 所需的所有命令列工具,要進入 bash,請確保你是在你的 CLI 進入 laradock 目錄,并執行這個 docker-compose 命令:
docker-compose exec --user=laradock workspace bash
目錄的起始點應該在 /var/www/,你的 laravel app 也應該在這里,你可以去那里執行 composer install 命令和一些 artisan 命令,比如 php artisan migrateor 或者 可以使用 composer 的 composer create-project laravel/laravel my-another-laravel-app 命令創建另一個專案,
有很多 laradock 服務,我稍后會講到,但你可以自己去探索,玩得開心!
laravel version used: 5.5 LTS
原文地址:https://dev.to/dendihandian/laradock-a-p...
譯文地址:https://learnku.com/php/t/42973
更多學習內容請訪問:
騰訊T3-T4標準精品PHP架構師教程目錄大全,只要你看完保證薪資上升一個臺階(持續更新)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/59849.html
標籤:PHP
