1、下载apmserv5.1.2.rar并解压缩
2、打开apmserv5.1.2主程序apmserv.exe
3、虚拟主机配置(看不清可点击放大)
4、虚拟目录配置(看不清可点击放大)
1、问:如何将旧版本的《apmserv 5.0.4增强版》中的网页和数据库资料迁移到《apmserv 5.1.2》中?
答:将《apmserv 5.1.2》解压缩到另外一个目录,如果旧版本的《apmserv 5.0.4增强版》处于启动状态,先点击旧版apmserv.exe中的停止按钮,然后将旧版本www网页目录下的除phpmyadmin目录以外的目录文件全部复制到5.1.2版的www\htdocs目录下,将旧版本mysql\data数据库目录下的目录文件全部复制到5.1.2版的mysql4.0\data目录下,确认在5.1.2版中能够正常访问这些网页和数据库后,删除旧版本目录即可。
2、问:“80、443端口被占用,apache2无法启动。”是怎么回事?
答:如果您装有iis或其它http服务器软件并启动,将占用80端口(如果iis开启ssl支持,还会占用443端口),可以将iis更改一个端口,或者在apmserv中更改apache的端口。
3、问:为什么启动apmserv后,但在windows的服务列表中没有“apache2”一项或“apache2”处于停止状态?
答:请不要将apmserv放在含有中文的路径中,因为以服务模式启动的apache不支持中文目录,例如“d:\网站服务器\apmserv\”会导致apache无法启动。同理,添加虚拟主机、虚拟目录时,路径中也不能含有中文。
4、问:我用mysql5.1新建数据库和导入原来mysql4.0.x的数据全是乱码,就像这样“?”,全是问号,如何解决?
答:从mysql4.1版本开始,mysql增加对多国语言、多字符集的支持,apmserv使用了中文字符集gbk。而旧的mysql4.0.x、mysql3.x版本一般默认的字符集是latin1,以latin1编码进行储存,由于只支持单字符集,以非中文编码的latin1编码保存中文数据并不会出现乱码。
旧mysql4.0.x数据导入mysql4.1.x或5.x等支持多字符集的mysql高版本数据库后,非中文编码的latin1编码保存的数据就会显示成“”。解决方法有很种,你可以在百度、google搜索“mysql4.1 字符集”或“mysql5 字符集”了解相关资料。这里给你一种简便的方法,打开php程序中负责连接mysql数据库的文件(例如conn.php),增加一行mysql_query('set character set gbk');即可。例如:
$conn=mysql_connect (127.0.0.1, root, );
mysql_select_db(database); //database是数据库名
mysql_query('set character set gbk');
附:discuz!官方论坛有一篇针对discuz!用户的“关于转换或者升级以后出现乱码情况的说明”,对mysql4.1及更高版本的字符集问题有详细地介绍,你可以参考一下。
http://www.discuz.net/viewthread.php?tid=201826
5、问:为什么服务器在连续运行多天后或访问峰值后,进程中的一个apache.exe占用内存上百兆不减少?
答:用记事本打开apache2\conf\httpd.conf,查找maxrequestsperchild,将maxrequestsperchild 0改成maxrequestsperchild 50即可。
通常在“windows任务管理器-进程”中可以看到两个apache.exe进程,一个是父进程、一个是子进程,父进程接到访问请求后,将请求交由子进程处理。maxrequestsperchild这个指令设定一个独立的子进程将能处理的请求数量。在处理“maxrequestsperchild 数字”个请求之后,子进程将会被父进程终止,这时候子进程占用的内存就会释放,如果再有访问请求,父进程会重新产生子进程进行处理。
如果maxrequestsperchild缺省设为0(无限)或较大的数字(例如10000以上)可以使每个子进程处理更多的请求,不会因为不断终止、启动子进程降低访问效率,但maxrequestsperchild设置为0时,如果占用了200~300m内存,即使负载下来时占用的内存也不会减少。内存较大的服务器可以设置为0或较大的数字。内存较小的服务器不妨设置成30、50、100,以防内存溢出。
6、问:为什么某些在老版本php中编写的php程序,在apmserv中不能传递变量?
答:php开发组基于安全性考虑,get、post、session在php 4.2.0以及后续版本中,自动全局变量默认是关闭的,所以要从上一页面取得提交过来得变量要使用$_get['foo']、$_post['foo']、$_session['foo']来得到,而在之前的php版本中直接就可以取得变量。这就造成了某些在旧版本php中编写的php程序,在新版本php中不能传递变量(apmserv 5.1.2中的php版本为最新的5.1.2)。
当然您也可以修改自动全局变量为开(用记事本打开apmserv\php\php.ini-dist,修改register_globals=off为register_globals=on)。考虑到安全性与兼容性,还是强迫自己按照php新版本的要求,熟悉新的写法比较好。
《php手册》自动全局变量的相关说明请见:
http://cn.php.net/manual/zh/language.variables.predefined.php
《php手册》打开自动全局变量可能导致的安全性问题请见:
http://cn.php.net/manual/zh/security.globals.php
http://www.bkjia.com/phpjc/316976.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/316976.htmltecharticle1、下载apmserv5.1.2.rar并解压缩 2、打开apmserv5.1.2主程序apmserv.exe 3、虚拟主机配置(看不清可点击放大) 4、虚拟目录配置(看不清可点击放大...