php-dev-vm可以帮助快速构建PHP虚拟机开发环境。你也可以修改Vagrantfile,定制自己的PHP虚拟机开发环境。
多人团队开发环境不同步一般带来如下问题:
- 不同电脑上单独安装配置占用时间,后续解决环境配置、依赖等问题也会占用较多工作时间,团队越大问题越突出
- 没有标准安装、配置步骤,不同工程师水平不一致,每次环境配置的最终结果可能不一致,最终导致开发时存在潜在调试、运行等问题,解决办法也无法快速在团队中应用
- 环境安装配置对新人是障碍,耽误熟悉业务代码时间,资深工程师帮助新人配置环境也占用时间
- 开发环境后续调整、同步也是障碍
如果能够实现自动化的构建开发环境,通过指定的分发机制同步开发环境配置,就可以很好解决以上问题。
通过Vagrant这个工具自动化构建开发环境虚拟机镜像,将开发环境需要的软件、配置打包到镜像中,然后通过Rsync或者FTP分发镜像,可以实现这一点,满足我们的需求。
至于为什么不使用 PHP Docker镜像,是因为目前生产环境中PHP程序运行在虚拟机中,迁移不是短时间就能完成的事情。
可以通过本项目快速构建PHP虚拟机开发环境。
- macOS Sierra Version 10.12.5
homebrewvagrantupvirualbox
Install CentOS 7.2 box
> vagrant box add "CentOS-7.2-x64" https://github.com/CommanderK5/packer-centos-template/releases/download/0.7.2/vagrant-centos-7.2.box编写Vagrantfile:
见这里
构建Vagrant Box:
> # start vm
> vagrant up
> # config mysql root password
> mysql_secure_installation
> # todo: add more config statements
> # create vagrant box
> vagrant package --output "php-dev-vm-5.6.30.box" $(vagrant global-status | grep 'src/PHP-5.6.30' | awk '{print $1}') && mv php-dev-vm-5.6.30.box ../../box///待完成
# 首先,构建 php-dev-vm-5.6.30.box
# 通过 Symfony installer 创建 Symfony 的demo项目,把 demo 的项目文件放在和 `php-dev-vm` 的平级目录 `symfony_demo` 中
> symfony demo symfony_demo
> cd work/php56-symfony
> vagrant box remove "../../box/php-dev-vm-5.6.30.box" || true && vagrant up # ignore error when box not exists
> # 在电脑的 "/etc/hosts" 文件中增加如下配置
> # 192.168.50.5 host.phpvm.me
> # 192.168.50.5 symfony.phpvm.me
> # 浏览器中访问 http://symfony.phpvm.me http://host.phpvm.me/php-info.php ,能正常打开页面配置PHPStorm调试:
- Vagrant: https://www.vagrantup.com/docs/index.html
- Discover Vagrant Boxes
- Nginx配置
- PHP-FPM配置
- PHP Function Reference/扩展列表
- Debugging with PhpStorm






