最近开发项目,想用到php开发一个web服务,用于服务器监控管理页面,所以开始学习php,学习之前先把自己的php开发环境弄好。
整个开发环境采用是nginx + mysql + php + xdebug + IDE(NetBeans) , 其中nginx + mysql + php 是部署在linux服务器,IDE(NetBeans)安装在自己windows PC上。
1、nginx
nginx 是经常用到的服务器,安装起来很简单。下载nginx 源码,还有我需要的一些开源库 openssl,zlib,pcre,其中pcre是必须项。
openssl,zlib,pcre 这三个编译步骤都是 切换到相应的源码目录, ./configure,然后是make
nginx 是 ./configure --prefix=/opt/nginx --sbin-path=/opt/nginx/sbin --conf-path=/opt/nginx/conf/nginx.conf --with-pcre=pcre的源码目录 --with-zlib=zlib源码目录 --with-http_ssl_module --with-openssl=openssl源码目录, make, make install,install 后执行程序会安装到指定的--prefix=/opt/nginx 目录下。
安装好后整个nginx项目都会在/opt/nginx目录下,我们打开 /opt/nginx/conf/nginx.conf 配置文件,配置nginx。配置如下:
server {
listen 8080;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# 配置所有匹配到 正则表达式 \.php$ 成功的请求,转发到 127.0.0.1:3344这个程序上, 3344 被php-fpm所监听
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:3344; #这个php监听端口可以任意指定
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; #/scripts$fastcgi_script_name;
include fastcgi_params;
}
}
这里我们是使用 fastcgi 方式,使nginx 和 php 解释器工作。
2、mysql
./configure --prefix=/usr/local ,这里 --prefix=/usr/local 最好要指定, 一会编译php时,我们需要指定mysql库目录。 然后make 和 make install。
安装好后, 我建议修改 /etc/my.cnf 中datadir=/data0/mysql,将数据库文件指定到大的磁盘空间上。
3、编译php
./configure --prefix=/opt/php --with-mysql=/usr/local/ --enable-fastcgi --with-mysql-sock=/var/lib/mysql/mysql.sock --enable-fpm,然后是make 和 make install
紧接着我们将 php 源码目录中的 php-fpm.conf 和 php.ini-development(或者php.ini-production)copy 到 /opt/php/sbin 目录下,文件名分别为php-fpm.conf和php.ini
这里我要说明一下 php.ini-development 是php解释器用于开发时候的配置文件, php.ini-production就是正式上线后的配置文件。
php-fpm.conf 是 程序 php-fpm 需要用到的配置文件, php-fpm 是一个进程管理者,它会启动若干个php-cgi,用于和nginx 进行 fastcgi 交互。
我们修改一下php-fpm.conf 中的listen = 127.0.0.1:3344使 php-fpm监听3344端口,和 nginx配置一致。
4、xdebug
xdebug 是php的调试工具,可以打印出具体的出错函数堆栈,具体的信息可以网上google,xebug源码目录本身没有configure,需要 phpize帮助生成,将/opt/php/bin/phpize copy 到 xdebug源码目录, /opt/php 是我php的安装目录。生成 configure 后 ,执行./configure --with-php-config=/opt/php/bin/php-config,然后make 和 make install。
下面是修改 php.ini 配置文件,在文件加上下面三句话:
[Xdebug]
xdebug.remote_enable=on
zend_extension=/opt/php/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so
xdebug.so 为xdebug的安装目录
5、安装NetBeans
下载后安装NetBeans,成功后 我们按照这个网址https://netbeans.org/kb/docs/php/quickstart_zh_CN.html学习如何使用netbeans,但是和这个链接里不同的是我们的php环境都部署在linux 服务器上,所以在新建项目的时候,在这个界面下: