在開發(fā)和線上階段使用不同的系統(tǒng)運(yùn)行環(huán)境的話, 經(jīng)常會遇到各種各樣的 BUG, 并且在團(tuán)隊(duì)開發(fā)的時候, 讓所有成員都保持使用最新版本的軟件和類庫, 也是一件很讓人頭痛的事情.
如果你是在 Windows 下開發(fā), 線上環(huán)境是 Linux (或者別的非 Windows 系統(tǒng)) 的話, 或者團(tuán)隊(duì)協(xié)同開發(fā)的時候, 建議使用虛擬機(jī).
除了大家熟知的 VMware 和 VirtualBox 外, 還有很多工具可以讓你快速, 輕松的用上虛擬環(huán)境.
Vagrant 可以讓你使用單一的配置信息來部署一套虛擬環(huán)境, 最后打包為一個所謂的 box (就是已經(jīng)部署好環(huán)境的虛擬機(jī)器). 你可以手動來安裝和配置 box, 也可以使用自動部署工具, 如 Puppet 或者 Chef .
自動部署工具可以讓你快速部署一套一模一樣的環(huán)境, 避免了一大堆的手動的命令輸入, 并且允許你隨時刪除和重建一個全新的 box, 虛擬機(jī)的管理變得更加簡單.
Vagrant 還可以在虛擬機(jī)和主機(jī)上分享文件夾, 意味著你可以在主機(jī)里面編輯代碼, 然后在虛擬機(jī)里面運(yùn)行.
下面是一些其他的軟件, 可以幫助你更好的使用 Vagrant:
除了 Vagrant, Docker 是另一個實(shí)現(xiàn)生產(chǎn)和開發(fā)環(huán)境統(tǒng)一的非常棒的方案.
Docker 為各種應(yīng)用程序提供了 Linux 容器.
你可以安裝 Docker 鏡像, 如 MySQL 和 PostgreSQL 等, 并且不會污染到你的本地機(jī)器, 可以看下 Docker Hub Registry, 在這里你可以找到你想要的, 提前配置好的, 允許你簡單幾部就能運(yùn)行起來的 Linux 容器.
在你成功 安裝 Docker 后, 你只需要一步就可以安裝 Apache + PHP.
下面的命令, 會下載一個功能齊全的 Apache 和 最新版本的 PHP, 并會設(shè)置 WEB 目錄 /path/to/your/php/files
運(yùn)行在 http://localhost:8080
:
{% highlight console %}
docker run -d --name my-php-webserver -p 8080:80 -v /path/to/your/php/files:/var/www/html/ php:apache
{% endhighlight %}
在使用 docker run
命令以后, 如果你想停止, 或者再次開啟容器的話, 只需要執(zhí)行以下命令:
{% highlight console %}
docker stop my-php-webserver
{% endhighlight %}
{% highlight console %}
docker start my-php-webserver
{% endhighlight %}
The commands mentioned above only show a quick way to run an Apache web server with PHP support but there are a lot more things that you can do with Docker.
上面的命令能讓你輕松使用 Apache + PHP 環(huán)境, 然而, Docker 還提供了好多別的命令, 例如, 作為 PHP 程序員, 一個最重要的事情, 是讓你的 Web Server 和數(shù)據(jù)庫鏈接起來, 怎么實(shí)現(xiàn)可以仔細(xì)看下 Docker User Guide.