日期:2011-08-03  浏览次数:20552 次


因为公司的环境是在linux下,所以想在自己的机器上搭建个模仿linux的环境
环境为linux +mssql+PHP +nginx+freetds
于是就想到了cygwin
去http://www.cygwin.com 下载setup.exe
然后安装,安装方法网上一大堆,主要是要安装好GCC相关的东西,我是把 devel目录下的东西都安装上
默认是default 点击下default 可以变成install
下载nginx
http://nginx.org/download/nginx-1.2.6.tar.gz
安装
tar zxvf nginx-1.2.6.tar.gz
cd nginx-1.2.6
./configure
make && make install
如果没有提示出错的话就是安装好了,进入默认的安装目录 cd /usr/local/nginx
cd sbin
如果有nginx.exe就说明安装成功了 要启动nginx ./nginx.exe就行了
就可以用ps -efgrep nginx看到进程了
然后是安装freetds
去http://www.freetds.org/下载freetds
ftp://ftp.freetds.org/pub/freetds/stable/freetds-stable.tgz
安装跟nginx一样
tar freetds-stable.tgz
cd freetds-0.91
./configure
make && make install
然后安装PHP
下载PHP
http://us1.php.net/distributions/php-5.4.11.tar.gz

tar php-5.4.11.tar.gz
cd php-5.4.11
./configure --prefix=/usr/local/php --enable-mbstring --enable-sockets --with-config-file-path=/usr/local/php --with-mssql=/usr/local/freetds --enable-fpm
make && make install
一些警告忽略掉,然后启动PHP
cd /usr/local/php/sbin/
./php-fpm.exe 就可以启动php fpm了
但是用CI框架 发现
$_SERVER['SCRIPT_NAME']获取URL的路径有问题

正常$_SERVER['REQUEST_URI'] 获取的是/index.php/welcome
$_SERVER['SCRIPT_NAME'] 获取的应该是/index.php
但是我的cygwin获取的是 $_SERVER['REQUEST_URI'] 获取的是/index.php/welcome
$_SERVER['SCRIPT_NAME'] 获取的应该是/index.php/welcome
两个是一样的,这样就有问题了,
还有一个是下载了PHPredis安装也没出错,但是 在php.ini加扩展时总是提示出错
NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/redisa' - Exec format error in Unknown on line 0

怀疑是不是PHP没安装好,因为有很多警告,不知道有没有发生过错误,待重新安装一次确认下
安装redis时 会报redis.c:1xxx: error: `SA_ONSTACK' undeclared (first use in this function) 的错误
因为cygwin里没有定义SA_ONSTACK
在sys/resource.h中加上
ifndef SA_ONSTACK
define SA_ONSTACK 0
endif 本文链接http://www.cxybl.com/html/wlbc/Php/20130601/38184.html