vagrant 安装配置,PhpStorm10 设置远程调试
下载安装 VirtualBox :https://www.virtualbox.org/
下载安装 Vagrant :http://www.vagrantup.com/
box下载 http://www.vagrantbox.es/%20
用的是一个LNMP环境已经搭建好的box,玩熟悉了后面自己从头开始搭建制作成box
vagrant box add dev_env mybox.box dev_env 我给添加的box启的名字,mybox.box导入文件名字,这里也可以手绝对路径
vagrant init dev_env 初始化导入的box会生成一个配置文件
生成对应的Vagrantfile。通过文本编辑器打开Vagrantfile可以进行一些进一步的常用配置:
网络配置:
Vagrant的网络有三种模式
1、较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用 ,在Vagrantfile中配置:
1 config.vm.network :forwarded_port, guest: 80, host: 8080 guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。
2、如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中配置:
1 config.vm.network :private_network, ip: "192.168.1.104" 192.168.1.104 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可
3、如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行DHCP,那么在Vagrantfile中配置:
1 config.vm.network :public_network 目录映射:
既然是开发环境,那么开发工作肯定还是需要在本地完成,而不是都要进到虚拟机中去完成,虚拟机就好好在后台运行服务就好了,不然就本末倒置了,所以这里就需要使用目录映射功能,将本地的目录映射到虚拟机的对应目录。
默认情况下,当前的工作目录,会被映射到虚拟机的 /vagrant 目录,当前目录下的文件可以直接在 /vagrant 下进行访问,当然也可以在通过 ln 创建软连接,如
1 ln -fs /vagrant/wwwroot /var/www 来进行目录映射,当然,从自动化配置的角度,能不进系统就不需要进系统,所以在Vagrant也可以进行目录映射的操作:
1 config.vm.synced_folder "wwwroot/", "/var/www" 前面的参数 “wwwroot/” 表示的是本地的路径,这里使用对于工作目录的相对路径,这里也可以使用绝对路径,比如: “d:/www/”
后面的参数 “/var/www” 表示虚拟机中对应映射的目录。
vagrant 常用命令
vagrant up (启动虚拟机)
vagrant halt (关闭虚拟机——对应就是关机)
vagrant suspend (暂停虚拟机——只是暂停,虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复操作后继续使用)
vagrant resume (恢复虚拟机 —— 与前面的暂停相对应)
vagrant destroy (删除虚拟机,删除后在当前虚拟机所做进行的除开Vagrantfile中的配置都不会保留)
使用ssh工具连接进虚拟机,连接的时候会需要导入证书
打开php.ini文件
进行xdebug配置
[xdebug]
zend_extension=xdebug.so
xdebug.remote_enable = On
xdebug.remote_handler = dbgp
xdebug.remote_host= 192.168.1.111 #安装PhpStorm的机器
;xdebug.remote_connect_back = 1 #经过测试开启这个选项上面配置ip地址的选项就不需要了,不知道为什么
xdebug.remote_port = 9000
xdebug.idekey = PHPSTORM
配置PhpStorm如下图
配置完成下载firefox插件 The easiest Xdebug
在映射目录写个php文件,继续上图