win2008中的iis7下的几种aps+php环境配置方法
[
2010/07/09 13:31 | by admin ]
2010/07/09 13:31 | by admin ]
win2008中的iis7下的几种aps+php环境配置方法
IIS7.5和IIS6.0在使用上有很大的灵活性,现就几种方法作简要说明
一、使用IIS7.5的fastcgi
这是建议使用的一种,IIS使用FsatCGISettings及处理程序映射中添加模块映射。
即在FsatCGISettings添加应用 php-cgi.exe,并在EnviornmemtVafiables里添加连接等变量。
在处理应用程序中添加模块FastCgiModule的映射。
在为站点添加模块FastCgiModule的映射后,相关配置会写入web.config
php使用非线程安全版本
这是在IIS7+FastCGI下最常用的方法,此配置下,无法支持zend,只能安装微软的wincache来加速缓存优化。
二、使用与IIS6.0下相同的方法
即使用ISAIP方式来加载,
具体方法为:在处理程序映射中添加模块FastCgiModule的映射,文件为php5isapi.dll,这种方式下要先为php5isapi.dll注册启用它,具体为打开ISAPI和CGI限制,添加php5isapi.dll并允许扩展路径,这和IIS6.0下的应用程序扩展中添加是一样的道理。
在此方法下使用的php的普通版本的php,而不是非线程安全的版本
这种方式下的php可以安装zend以及xcache等加速软件。
三、使用普通版本的php,同时使用fastcgi方式
处理方法类似第一种,使用php-cgi.exe来处理php,但php程序使用的是普通版本的,同样,这种方式下支持zend及xcache等加速软件
另:由于个人应用的特殊要求,IIS7.5下支持同时使用不同版本不同方式使用的php,如上述三种方式来配置php,又或者同时还使用不同版本的php,关键只要做到能正确读取相应的php.ini即可。
这是IIS6.0下所办不到的,IIS6.0下,除了不同时使用mysql等扩展,否则它是不能同时读取不同的php.ini来配置当前站点的。
曾经测试,在不同方式下运行网站安装discuz,都可以正常运行。
至于具体的配置教程可以网上搜索下IIS7和IIS6下的环境配置的文章,这里就不再啰嗦了。
IIS7.5和IIS6.0在使用上有很大的灵活性,现就几种方法作简要说明
一、使用IIS7.5的fastcgi
这是建议使用的一种,IIS使用FsatCGISettings及处理程序映射中添加模块映射。
即在FsatCGISettings添加应用 php-cgi.exe,并在EnviornmemtVafiables里添加连接等变量。
在处理应用程序中添加模块FastCgiModule的映射。
在为站点添加模块FastCgiModule的映射后,相关配置会写入web.config
php使用非线程安全版本
这是在IIS7+FastCGI下最常用的方法,此配置下,无法支持zend,只能安装微软的wincache来加速缓存优化。
二、使用与IIS6.0下相同的方法
即使用ISAIP方式来加载,
具体方法为:在处理程序映射中添加模块FastCgiModule的映射,文件为php5isapi.dll,这种方式下要先为php5isapi.dll注册启用它,具体为打开ISAPI和CGI限制,添加php5isapi.dll并允许扩展路径,这和IIS6.0下的应用程序扩展中添加是一样的道理。
在此方法下使用的php的普通版本的php,而不是非线程安全的版本
这种方式下的php可以安装zend以及xcache等加速软件。
三、使用普通版本的php,同时使用fastcgi方式
处理方法类似第一种,使用php-cgi.exe来处理php,但php程序使用的是普通版本的,同样,这种方式下支持zend及xcache等加速软件
另:由于个人应用的特殊要求,IIS7.5下支持同时使用不同版本不同方式使用的php,如上述三种方式来配置php,又或者同时还使用不同版本的php,关键只要做到能正确读取相应的php.ini即可。
这是IIS6.0下所办不到的,IIS6.0下,除了不同时使用mysql等扩展,否则它是不能同时读取不同的php.ini来配置当前站点的。
曾经测试,在不同方式下运行网站安装discuz,都可以正常运行。
至于具体的配置教程可以网上搜索下IIS7和IIS6下的环境配置的文章,这里就不再啰嗦了。
memcached服务端安装脚本
[
2010/07/08 11:31 | by admin ]
2010/07/08 11:31 | by admin ]
自己写的一个简单的脚本,执行安装即可
本内容为原创内容,转载请注明:
本文来自http://blog.gsywx.com
#!/bin/bash
clear
echo "--------------------memcached安装脚本,按任意键继续---------------------"
get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty cbreak
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $SAVEDSTTY
}
echo ""
echo "安装memcached,连接并发数1024,内存64M,按任意键继续......"
char=`get_char`
tar zxvf libevent-1.4.13-stable.tar.gz
cd libevent-1.4.13-stable
./configure
make
make install
cd ../
echo "/usr/local/lib" >/etc/ld.so.conf.d/libevent-i386.conf
ldconfig
#默认安装在/usr/local/lib/
tar zxvf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure --prefix=/web/memcached
make
make install
cd ../
#默认安装在/usr/local/bin/
#创建简单的memcache启动停止脚本(未有进程判断)
cat >>/memcached< #!/bin/bash
start(){
echo "开始启动memcached ......"
/web/memcached/bin/memcached -d -m 64 -u nobody -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid
echo "OK"
}
stop() {
echo "正在停止memcached ......"
killall -9 memcached
rm -f /tmp/memcached.pid
echo "OK"
}
restart() {
stop
start
}
case "" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $ "Usage: $0 {start|stop|restart}"
;;
esac
EOF
sed -i 's#""#"$1"#g' /memcached
chmod +x /memcached
/memcached start
cp -f memcache.php /home/wwwroot/htdocs/
sleep 1
echo "删除安装临时文件............."
rm -Rf libevent-1.4.13-stable
rm -Rf memcached-1.4.5
memcache.php内容为:
$mem = new Memcache;
$mem->connect("127.0.0.1",11211);
$mem->set('key', "This is tell you: memcached rum success!", 0, 60);
$val = $mem->get('key');
echo $val;
?>
本内容为原创内容,转载请注明:
本文来自http://blog.gsywx.com
#!/bin/bash
clear
echo "--------------------memcached安装脚本,按任意键继续---------------------"
get_char()
{
SAVEDSTTY=`stty -g`
stty -echo
stty cbreak
dd if=/dev/tty bs=1 count=1 2> /dev/null
stty -raw
stty echo
stty $SAVEDSTTY
}
echo ""
echo "安装memcached,连接并发数1024,内存64M,按任意键继续......"
char=`get_char`
tar zxvf libevent-1.4.13-stable.tar.gz
cd libevent-1.4.13-stable
./configure
make
make install
cd ../
echo "/usr/local/lib" >/etc/ld.so.conf.d/libevent-i386.conf
ldconfig
#默认安装在/usr/local/lib/
tar zxvf memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure --prefix=/web/memcached
make
make install
cd ../
#默认安装在/usr/local/bin/
#创建简单的memcache启动停止脚本(未有进程判断)
cat >>/memcached<
start(){
echo "开始启动memcached ......"
/web/memcached/bin/memcached -d -m 64 -u nobody -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid
echo "OK"
}
stop() {
echo "正在停止memcached ......"
killall -9 memcached
rm -f /tmp/memcached.pid
echo "OK"
}
restart() {
stop
start
}
case "" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $ "Usage: $0 {start|stop|restart}"
;;
esac
EOF
sed -i 's#""#"$1"#g' /memcached
chmod +x /memcached
/memcached start
cp -f memcache.php /home/wwwroot/htdocs/
sleep 1
echo "删除安装临时文件............."
rm -Rf libevent-1.4.13-stable
rm -Rf memcached-1.4.5
memcache.php内容为:
$mem = new Memcache;
$mem->connect("127.0.0.1",11211);
$mem->set('key', "This is tell you: memcached rum success!", 0, 60);
$val = $mem->get('key');
echo $val;
?>
memcached安装教程
[
2010/07/08 11:23 | by admin ]
2010/07/08 11:23 | by admin ]
一、memcached服务端的安装
1.安装前需要先安装libevent:
下载地址:
http://www.monkey.org/~provos/libevent/
安装 libevent-1.4.13-stable.tar.gz
#默认安装在/usr/local/lib/
2. memcached安装:
下载地址:
http://memcached.org/
安装 memcached-1.4.5.tar.gz
#默认安装在/usr/local/bin/
3.测试时候发现会出现以下错误信息:
/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
错误的原因是未在系统中注册Libevent. 解决方法如下:
vi /etc/ld.so.conf.d/libevent-i386.conf
输入:
/usr/local/lib/
最后不要忘了
ldconfig
4.CentOS Memcached运行
/web/memcached/bin/memcached -m 512 -u nobody -vv
会看到如下信息:
slab class 1: chunk size 80 perslab 13107
slab class 2: chunk size 104 perslab 10082
slab class 3: chunk size 136 perslab 7710
slab class 4: chunk size 176 perslab 5957
slab class 5: chunk size 224 perslab 4681
slab class 6: chunk size 280 perslab 3744
slab class 7: chunk size 352 perslab 2978
slab class 8: chunk size 440 perslab 2383
slab class 9: chunk size 552 perslab 1899
slab class 10: chunk size 696 perslab 1506
slab class 11: chunk size 872 perslab 1202
slab class 12: chunk size 1096 perslab 956
slab class 13: chunk size 1376 perslab 762
slab class 14: chunk size 1720 perslab 609
slab class 15: chunk size 2152 perslab 487
slab class 16: chunk size 2696 perslab 388
slab class 17: chunk size 3376 perslab 310
slab class 18: chunk size 4224 perslab 248
slab class 19: chunk size 5280 perslab 198
slab class 20: chunk size 6600 perslab 158
slab class 21: chunk size 8256 perslab 127
slab class 22: chunk size 10320 perslab 101
slab class 23: chunk size 12904 perslab 81
slab class 24: chunk size 16136 perslab 64
slab class 25: chunk size 20176 perslab 51
slab class 26: chunk size 25224 perslab 41
slab class 27: chunk size 31536 perslab 33
slab class 28: chunk size 39424 perslab 26
slab class 29: chunk size 49280 perslab 21
slab class 30: chunk size 61600 perslab 17
slab class 31: chunk size 77000 perslab 13
slab class 32: chunk size 96256 perslab 10
slab class 33: chunk size 120320 perslab 8
slab class 34: chunk size 150400 perslab 6
slab class 35: chunk size 188000 perslab 5
slab class 36: chunk size 235000 perslab 4
slab class 37: chunk size 293752 perslab 3
slab class 38: chunk size 367192 perslab 2
slab class 39: chunk size 458992 perslab 2
slab class 40: chunk size 573744 perslab 1
slab class 41: chunk size 717184 perslab 1
slab class 42: chunk size 1048576 perslab 1
<26 server listening (auto-negotiate)
<27 server listening (auto-negotiate)
<28 send buffer was 8388608, now 268435456
<29 send buffer was 8388608, now 268435456
<28 server listening (udp)
<29 server listening (udp)
<28 server listening (udp)
<29 server listening (udp)
<28 server listening (udp)
<29 server listening (udp)
<28 server listening (udp)
<29 server listening (udp)
memcached运行正常。
二、memcached的基本设置:
1、启动Memcached的服务器端:
/web/memcached/bin/memcached -d -m 64 -u nobody -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB
-u是运行Memcache的用户
-l是监听的服务器IP地址,IP地址127.0.0.1
-p是设置Memcache监听的端口,默认为11211
-c选项是最大运行的并发连接数,默认是1024
-P是设置保存Memcache的pid文件,/tmp/memcached.pid,这个选项加不加无所谓
2、如果要结束memcached进程,执行:
kill `cat /tmp/memcached.pid`
或者
killall -9 /web/memcached/bin/memcached
也可以启动多个守护进程,不过端口不能重复。
3、重启apache,service httpd restart
memcached环境测试:
运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。
$mem = new Memcache;
$mem->connect("127.0.0.1",11211);
$mem->set('key', "This is tell you: memcached rum success!", 0, 60);
$val = $mem->get('key');
echo $val;
?>
三、安装memcached的PHP扩展
1、在http://pecl.php.net/package/memcache 选择相应想要下载的memcache版本。
2、安装PHP的memcache扩展
tar vxzf memcache-2.2.5.tgz
我的php安装在/web/php
确保编译参数为以下:
/web/php/bin/phpize
./configure --with-php-config=/web/php/bin/php-config
3、安装完后会有类似这样的提示:
Installing shared extensions: /web/php/lib/php/extensions/no-debug-zts-20060613/
4、把php.ini中的extension_dir = "./"修改为
extension_dir = "/web/php/lib/php/extensions/no-debug-zts-20060613/"
5、添加一行来载入memcache扩展:extension=memcache.so
1.安装前需要先安装libevent:
下载地址:
http://www.monkey.org/~provos/libevent/
安装 libevent-1.4.13-stable.tar.gz
#默认安装在/usr/local/lib/
2. memcached安装:
下载地址:
http://memcached.org/
安装 memcached-1.4.5.tar.gz
#默认安装在/usr/local/bin/
3.测试时候发现会出现以下错误信息:
/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
错误的原因是未在系统中注册Libevent. 解决方法如下:
vi /etc/ld.so.conf.d/libevent-i386.conf
输入:
/usr/local/lib/
最后不要忘了
ldconfig
4.CentOS Memcached运行
/web/memcached/bin/memcached -m 512 -u nobody -vv
会看到如下信息:
slab class 1: chunk size 80 perslab 13107
slab class 2: chunk size 104 perslab 10082
slab class 3: chunk size 136 perslab 7710
slab class 4: chunk size 176 perslab 5957
slab class 5: chunk size 224 perslab 4681
slab class 6: chunk size 280 perslab 3744
slab class 7: chunk size 352 perslab 2978
slab class 8: chunk size 440 perslab 2383
slab class 9: chunk size 552 perslab 1899
slab class 10: chunk size 696 perslab 1506
slab class 11: chunk size 872 perslab 1202
slab class 12: chunk size 1096 perslab 956
slab class 13: chunk size 1376 perslab 762
slab class 14: chunk size 1720 perslab 609
slab class 15: chunk size 2152 perslab 487
slab class 16: chunk size 2696 perslab 388
slab class 17: chunk size 3376 perslab 310
slab class 18: chunk size 4224 perslab 248
slab class 19: chunk size 5280 perslab 198
slab class 20: chunk size 6600 perslab 158
slab class 21: chunk size 8256 perslab 127
slab class 22: chunk size 10320 perslab 101
slab class 23: chunk size 12904 perslab 81
slab class 24: chunk size 16136 perslab 64
slab class 25: chunk size 20176 perslab 51
slab class 26: chunk size 25224 perslab 41
slab class 27: chunk size 31536 perslab 33
slab class 28: chunk size 39424 perslab 26
slab class 29: chunk size 49280 perslab 21
slab class 30: chunk size 61600 perslab 17
slab class 31: chunk size 77000 perslab 13
slab class 32: chunk size 96256 perslab 10
slab class 33: chunk size 120320 perslab 8
slab class 34: chunk size 150400 perslab 6
slab class 35: chunk size 188000 perslab 5
slab class 36: chunk size 235000 perslab 4
slab class 37: chunk size 293752 perslab 3
slab class 38: chunk size 367192 perslab 2
slab class 39: chunk size 458992 perslab 2
slab class 40: chunk size 573744 perslab 1
slab class 41: chunk size 717184 perslab 1
slab class 42: chunk size 1048576 perslab 1
<26 server listening (auto-negotiate)
<27 server listening (auto-negotiate)
<28 send buffer was 8388608, now 268435456
<29 send buffer was 8388608, now 268435456
<28 server listening (udp)
<29 server listening (udp)
<28 server listening (udp)
<29 server listening (udp)
<28 server listening (udp)
<29 server listening (udp)
<28 server listening (udp)
<29 server listening (udp)
memcached运行正常。
二、memcached的基本设置:
1、启动Memcached的服务器端:
/web/memcached/bin/memcached -d -m 64 -u nobody -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB
-u是运行Memcache的用户
-l是监听的服务器IP地址,IP地址127.0.0.1
-p是设置Memcache监听的端口,默认为11211
-c选项是最大运行的并发连接数,默认是1024
-P是设置保存Memcache的pid文件,/tmp/memcached.pid,这个选项加不加无所谓
2、如果要结束memcached进程,执行:
kill `cat /tmp/memcached.pid`
或者
killall -9 /web/memcached/bin/memcached
也可以启动多个守护进程,不过端口不能重复。
3、重启apache,service httpd restart
memcached环境测试:
运行下面的php文件,如果有输出This is a test!,就表示环境搭建成功。
$mem = new Memcache;
$mem->connect("127.0.0.1",11211);
$mem->set('key', "This is tell you: memcached rum success!", 0, 60);
$val = $mem->get('key');
echo $val;
?>
三、安装memcached的PHP扩展
1、在http://pecl.php.net/package/memcache 选择相应想要下载的memcache版本。
2、安装PHP的memcache扩展
tar vxzf memcache-2.2.5.tgz
我的php安装在/web/php
确保编译参数为以下:
/web/php/bin/phpize
./configure --with-php-config=/web/php/bin/php-config
3、安装完后会有类似这样的提示:
Installing shared extensions: /web/php/lib/php/extensions/no-debug-zts-20060613/
4、把php.ini中的extension_dir = "./"修改为
extension_dir = "/web/php/lib/php/extensions/no-debug-zts-20060613/"
5、添加一行来载入memcache扩展:extension=memcache.so
linux下php扩展cURL的详细安装教程(适合新手)
[
2010/07/01 14:48 | by admin ]
2010/07/01 14:48 | by admin ]
方法一:还未安装php程序时
进入官方下载:http://curl.haxx.se/download.html
wget http://curl.haxx.se/download/curl-7.21.0.tar.gz
tar zxvf curl-7.21.0.tar.gz
cd curl-7.21.0
./configure
make
make install
安装php时,只要打开./configure --with-curl
就可以了。
方法二:已安装好php程序,想要添加php的curl扩展
先在线安装
yum install curl curl-devel
进入php的源码目录,如我用的是php-5.2.13.tar.gz
而我装好的php程序在/web/php目录,操作如下:
tar zxvf php-5.2.13.tar.gz
cd php-5.2.13
cd ext/curl
/web/php/bin/phpize
./configure --with-curl=DIR --with-php-config=/web/php/bin/php-config
make
编译结束会有这样一句:
Libraries have been installed in:
/soft/php-5.2.13/ext/curl/modules
而正常在装过其他php扩展后会有这样的目录
/web/php/lib/php/extensions/no-de-zts-20060613
如没有/web/php/lib/php/extensions/目录可以自己创建
mkdir -p /web/php/lib/php/extensions/no-de-zts-20060613
cp modules/curl.so /web/php/lib/php/extensions/no-de-zts-20060613
vi /etc/php.ini
找到
extension_dir =
确保它为
extension_dir = "/web/php/lib/php/extensions/no-debug-non-zts-20060613/"
然后在下面一行添加:
extension = "curl.so"
重启下httpd或nginx即可





