全批处理自动安装win7 win2008系统IIS+PHP+MYSQL+wincache环境
[
2010/04/28 17:14 | by xiaoyuwxz ]
2010/04/28 17:14 | by xiaoyuwxz ]
经过7-8个小时的研究,在windows7或windows2008下的IIS+php环境一键安装包终于顺利结束。
win7和win2008sp1版本安装的IIS是7.0的,而win2008R2安装的IIS是7.5的。
整个设计思想大致如下:
1、php安装非线程安全的版本,可以更好的配置IIS下的fastcgi运行。
2、mysql使用官方的解压版进行命令行安装
3、wincache从官方下载并解压出来,放入php程序目录内和配置好php.ini
过程如下:
1、请求输入安装的分区
2、进行磁盘格式的判断,安装在NTFS的分区继续下一步
3、拷贝预置程序到目标分区,并进行各目录及系统目录的权限设置
4、停止系统WAS服务,并进行安装前的php环境清理
5、为系统添加php配置的环境变量
6、判断是否已安装mysql服务,如已安装,则停止并卸载
7、根据输入的安装的分区来配置my.ini,因php配置中不涉及到分区的位置,故无需配置php.ini
8、安装mysql,并启动mysql,启动w3svc服务
9、判断是否已安装adminpack(fastcgi模块),如已安装则跳过,win7和win2008SP1的IIS版本为7,需自行另安装此模块,判断系统位数为32还是64来选择安装相应的adminpack
10、为fastcig添加脚本映射及变量数据
11、添加默认文档
12、建立phpmyadmin的虚拟站点
13、停止WAS服务以安装rewrite组件判断有无安装rewrite组件,如已安装则跳过,判断系统为32还是64位来安装相应的rewrite2.0组件
14、启动w3svc服务,拷贝phpinfo.php到默认站点,并清除为安装存放的临时文件
15、自动调用IE打开phpinfo.php及phpmyadmin的站点
至此,环境安装结束,因考虑了系统的32还是64位,所以,现在的win7和win2008都同时适用。
相对来说比win2003下的批处理更好完成
win7和win2008sp1版本安装的IIS是7.0的,而win2008R2安装的IIS是7.5的。
整个设计思想大致如下:
1、php安装非线程安全的版本,可以更好的配置IIS下的fastcgi运行。
2、mysql使用官方的解压版进行命令行安装
3、wincache从官方下载并解压出来,放入php程序目录内和配置好php.ini
过程如下:
1、请求输入安装的分区
2、进行磁盘格式的判断,安装在NTFS的分区继续下一步
3、拷贝预置程序到目标分区,并进行各目录及系统目录的权限设置
4、停止系统WAS服务,并进行安装前的php环境清理
5、为系统添加php配置的环境变量
6、判断是否已安装mysql服务,如已安装,则停止并卸载
7、根据输入的安装的分区来配置my.ini,因php配置中不涉及到分区的位置,故无需配置php.ini
8、安装mysql,并启动mysql,启动w3svc服务
9、判断是否已安装adminpack(fastcgi模块),如已安装则跳过,win7和win2008SP1的IIS版本为7,需自行另安装此模块,判断系统位数为32还是64来选择安装相应的adminpack
10、为fastcig添加脚本映射及变量数据
11、添加默认文档
12、建立phpmyadmin的虚拟站点
13、停止WAS服务以安装rewrite组件判断有无安装rewrite组件,如已安装则跳过,判断系统为32还是64位来安装相应的rewrite2.0组件
14、启动w3svc服务,拷贝phpinfo.php到默认站点,并清除为安装存放的临时文件
15、自动调用IE打开phpinfo.php及phpmyadmin的站点
至此,环境安装结束,因考虑了系统的32还是64位,所以,现在的win7和win2008都同时适用。
相对来说比win2003下的批处理更好完成
最新含sata achi驱动、集成各驱动、最新补丁、安装版xp sp2 sp3下载
[
2010/04/21 07:35 | by xiaoyuwxz ]
2010/04/21 07:35 | by xiaoyuwxz ]
WinXP_SP2_完整版.iso WinXP_SP3_完整版.iso
说明:
一、以原版XP_SP2为模型,未作精简,除驱动外未加入任何第三方软件,加了SATA(AHCI)、SCIS、硬盘驱动、声卡、主板、网卡(无线)、摄像头,显卡视频以及拨号猫驱动
二、只对服务作了些精简,服务启动为30,已打开自动更新(内置序列号支持更新),此为安装版,非ghost版本,为自动安装,无需选择时区、输入序列号等,有分区格式化界面
如果不用自动更新可以关闭:Background Intelligent Transfer Service、 Automatic Updates
如果不用打印机可以关闭 :Print Spooler
如不用于局域网可以关闭 :Workstation
如不用无线网卡可以关闭 :Wireless Zero Configuration
三、补丁已更新至2010年04月15日,并更新原来的IE6为IE7,装好后进程数约为17-20(视具体机子情况),占内存约为80-145M
可以在hp等无法更改BIOS里的硬盘模式(IDE、AHCI)的机子上安装XP
如刻盘CD刻不下,可以使用UltraISO向DVD盘里刻盘(本站有下载,NERO不支持向DVD里刻录CD盘)
WinXP_SP2_精简版.iso WinXP_SP3_精简版.iso
除上述更新外,主要精简了我们平时不用的组件及程序
文件大小在600M以内,可以直接刻录到CD盘里
XP_SP3同上所说明,为原版XP_SP3_MSDN官方版本而优化。
下载地址为:
http://wjxz.gsywx.com/wxz/winxp/
说明:
一、以原版XP_SP2为模型,未作精简,除驱动外未加入任何第三方软件,加了SATA(AHCI)、SCIS、硬盘驱动、声卡、主板、网卡(无线)、摄像头,显卡视频以及拨号猫驱动
二、只对服务作了些精简,服务启动为30,已打开自动更新(内置序列号支持更新),此为安装版,非ghost版本,为自动安装,无需选择时区、输入序列号等,有分区格式化界面
如果不用自动更新可以关闭:Background Intelligent Transfer Service、 Automatic Updates
如果不用打印机可以关闭 :Print Spooler
如不用于局域网可以关闭 :Workstation
如不用无线网卡可以关闭 :Wireless Zero Configuration
三、补丁已更新至2010年04月15日,并更新原来的IE6为IE7,装好后进程数约为17-20(视具体机子情况),占内存约为80-145M
可以在hp等无法更改BIOS里的硬盘模式(IDE、AHCI)的机子上安装XP
如刻盘CD刻不下,可以使用UltraISO向DVD盘里刻盘(本站有下载,NERO不支持向DVD里刻录CD盘)
WinXP_SP2_精简版.iso WinXP_SP3_精简版.iso
除上述更新外,主要精简了我们平时不用的组件及程序
文件大小在600M以内,可以直接刻录到CD盘里
XP_SP3同上所说明,为原版XP_SP3_MSDN官方版本而优化。
下载地址为:
http://wjxz.gsywx.com/wxz/winxp/
Fatal error: Call to undefined function eaccelerator_get()
[
2010/03/30 07:30 | by xiaoyuwxz ]
2010/03/30 07:30 | by xiaoyuwxz ]
DISCUZX刚出来,linux系统,当安装完成后,出现此错误。
解决方法:
一、重新编译安装 eaccelerator
1、不使用最新版本的eaccelerator0.9.6,0.9.6的configure没有--with-eaccelerator-shared-memory
编译参数。使用0.9.5.3以及以前版本
2、重新编译时加上 --with-eaccelerator-shared-memory
即:./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config --with-eaccelerator-shared-memory
3、php.ini内代码可放置如下:
[eaccelerator]
extension="eaccelerator.so"
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_period="3600"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
二、修改程序关闭eaccelerator的支持
修改 /config/config_global.php , 将当中的
$_config['memory']['eaccelerator'] = '1';
修改为
$_config['memory']['eaccelerator'] = '0';
解决方法:
一、重新编译安装 eaccelerator
1、不使用最新版本的eaccelerator0.9.6,0.9.6的configure没有--with-eaccelerator-shared-memory
编译参数。使用0.9.5.3以及以前版本
2、重新编译时加上 --with-eaccelerator-shared-memory
即:./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config --with-eaccelerator-shared-memory
3、php.ini内代码可放置如下:
[eaccelerator]
extension="eaccelerator.so"
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_period="3600"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
二、修改程序关闭eaccelerator的支持
修改 /config/config_global.php , 将当中的
$_config['memory']['eaccelerator'] = '1';
修改为
$_config['memory']['eaccelerator'] = '0';
发一个nginx服务控制脚本
[
2010/03/24 22:03 | by xiaoyuwxz ]
2010/03/24 22:03 | by xiaoyuwxz ]
看到好多人在配置nginx,都喜欢用pkill来杀进程,或者使用杀pid来结束服务,其实我更喜欢安装为服务用service来控制进程。
脚本如下,其中nginx所在路径需更改为实际路径才可用。
nginx="/web/nginx/sbin/nginx"
NGINX_CONF_FILE="/web/nginx/conf/nginx.conf"
这两句需修改成实际文件所在路径才可。
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemin
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/web/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/web/nginx/conf/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
脚本如下,其中nginx所在路径需更改为实际路径才可用。
nginx="/web/nginx/sbin/nginx"
NGINX_CONF_FILE="/web/nginx/conf/nginx.conf"
这两句需修改成实际文件所在路径才可。
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemin
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/web/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/web/nginx/conf/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac





