centos7+nginx 1.9.0+php-fpm+phpstorm+xdebug+vmware开发环境搭建

1.php-fpm

yum install php-fpm

默认配置在本地9000端口监听

service php-fpm restart启动

2.nginx 1.9.0

需先安装gcc zlib openssl pcre(yum install 即可,注意版本可能需要devel版的)

wget http://nginx.org/download/nginx-1.9.0.tar.gz

tar -zxvf nginx-1.9.0.tar.gz

cd nginx-1.9.0进入解压后的目录

执行./configure

make && make install 编译安装

指定配置文件 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

启动 /usr/local/nginx/sbin/nginx -s reload

3.xdebug

同样是编译安装

wget http://xdebug.org/files/xdebug-2.3.2.tgz

解压->执行./configure->make && make install

vim /etc/php.ini

末尾加入

zend_extension="/lib64/php/modules/xdebug.so"

xdebug.remote_enable = On

xdebug.remote_handler = dbgp

xdebug.remote_port = 9001 #防止和php-fpm的9000冲突

xdebug.remote_connect_back = 1 #并不限制接收调试信息的机器的地址,当然也可以指定xdebug.remote_host= 192.168.xxx.xxx

xdebug.idekey = PHPSTORM

xdebug.remote_log = /root/xdebug.log

由于linux跑在vmware里,而且通过NAT方式联网,因此需要用iptables做转发

4.phpstorm里面配置

5.遇到一些问题

主要是权限相关,首先要关掉selinux,在不关selinux的情况下如何允许将网站根目录配置到/usr/local/nginx/之外的地方暂时还没研究。如果把网站目录部署到/root目录下,需要更改nginx.conf user root 这样还不行,还需要修改php-fpm的权限, 在/etc/php-fpm.d/www.conf里面 user项 本来默认的是Apache 需要将其修改为user root,将php-fpm启动时加上 -R参数

关于调试 phpstorm 支持javascript调试,也支持 php脚本调试,注意别选择错了