php开发环境配置

   最近开发项目,想用到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 服务器上,所以在新建项目的时候,在这个界面下:

 
我们选择  "远程 Web 站点 (FTP,SFTP)", 然后点击 “管理”,编辑 ftp 配置。
这里需要注意到是, linux服务器端开启vsftpd 即可,最好是创建一个ftp用户,
命令为:sudo useradd -g ftp -d /usr/home/icp -s /sbin/nologin icp ,然后是passwd icp 修改密码,ftp的用户名和登录密码就用这个,然后在修改linux上传目录的用户权限。
放开ftp传输限制 sudo setsebool -P ftpd_disable_trans 1。
netbeans中 最好选择ftp 被动模式。初始目录 就是你的上传根目录, 你就配置成nginx的根目录,这样比较方便。 具体的见下图:
 
基本配置就算完成了。
然后分别启动 nginx (/opt/nginx/sbin),mysql(/etc/init.d/mysql start), php-fpm(/opt/php/sbin/php-fpm -c php.ini -y php-fpm.conf) 
我们可以学习php开发了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值