PHP的windows开发环境配置
之前的mac是lamp,除了mysql其他都是mac自带的,很方便。。
换成window了就很尴尬了,memcached和redis的扩展真心很难搞,自己又不愿意弄个VSstudio从头编译,只能再整个虚拟机作为web的运行环境。
如此以来就成了windows+phpstorm进行代码开发,虚拟机+lnmp运行代码,然后通过echo\var_dump进行调试。。
新公司的项目配置文件不在项目里,都在nginx的的配置里,然后就出现了每次ngixn调用php-fpm都要传项目的配置参数(db和redis的ip\port\user\password)过来------个人感觉很浪费,不知道项目创建之初是基于什么考虑的。
好了。。开始环境搭配吧。。
一、windows下的phpstorm安装
phpstorm包和破解的网盘链接:http://pan.baidu.com/s/1hsNlEZE
包里有一个破解的txt文件,好好阅读,在安装完成以后的license server换成此文件里的就可以,等2017年到期以后再重新找一个新的吧;
二、安装虚拟机
VMware下载一个安装包,然后去百度一个注册码即可。
下载一个centos6.8的安装包,新建一个虚拟机,根据网上其他教程创建一 个虚拟机即可(注意不要用最新的centos7,各种坑,我尝试了一天放弃centos7)
centos6.8的网盘地址:http://pan.baidu.com/s/1c16O5VE
然后给虚拟机安装vmtools,以便让代码目录在window和linux下共享文件,按照网上的教程安装即可。在linux上能找到/mnt/hgfs/目录表示安装完成
比如我的代码目录是e:\code,并且设置为共享了,则在linux上/mnt/hgfs/code能看到window对应的所有代码。
注意:如果是多个虚拟机,有其中一个已经共享这个文件夹了,貌似其他虚拟机不能共享此文件夹
三、配置虚拟机
进入虚拟机,先安装开发环境常用的一些语言和包,嫌麻烦的话可以sudo yum groupinstall "Development tools",然后一直选择y即可。。
下载一个lnmp一键安装包,按照lnmp官网教程安装即可
lnmp一键安装包网盘地址:https://pan.baidu.com/s/1mhOjl8W
lnmp安装完成以后就要靠自己了,默认的php文件目录应该在/usr/local/php目录,默认的nginx在/usr/local/nginx目录
第一件事情:vi /usr/local/php/etc/php.ini,找到opcache.so及下面的几个参数,并在前面加分号注释掉,开发环境不用开启opcache。不然改了代码半天才能看到效果
第二件事情:vi /usr/local/nginx/conf/nginx.conf,参考网上信息配置web目录到/mnt/hgfs/code/XX,XX是你具体要运行的代码目录
由于我们的项目是配置是放nginx里的,所以我还得cp XX_web_config.conf /usr/local/nginx/conf,然后查看nginx.conf里的server{}里添加了 include enable-php.conf;
再vi enable-php.conf,在include fastcgi.conf;后面添加 include XX_web_config.conf;
然后sudo service nginx restart即可。
假如nginx里的server{}里的servername是novo.com,虚拟机的ip是10.80.90.33。
则要回到window下找到c:\Windows\System32\drivers\etc\hosts,用记事本打开,仿照上面的例子添加 10.80.90.33 novo.com。
然后在windows下输入novo.com就能访问虚拟机的上的lnmp环境了,至此虚拟机和windows之间的开发环境连接通畅了。
第三件事情:安装memcached和redis及扩展
memcache参考:http://www.cnblogs.com/dyllove98/archive/2014/11/27/4126840.html
redis参考:http://www.cnblogs.com/zgaspnet/p/3939198.html
第四件事情:设置memcached和redis开机自动重启(如果不是使用本地mc和redis,请忽悠这一条)
参考网上各种开机自启动教程即可
然后编辑代码在windows下的phpstorm,然后代码运行在linux的虚拟机环境配置成功。。就是调试恶心一些,不能在window下debug。。效率低。。(公司抠门啊,忍了)
有机会还是整个mac book pro吧,实在不行就mac mini + 显示器。