《APMServ 5.1.2》使用图解


Posted in PHP onOctober 23, 2006
1、下载APMServ5.1.2.rar并解压缩2、打开APMServ5.1.2主程序APMServ.exe3、虚拟主机配置(看不清可点击放大)4、虚拟目录配置(看不清可点击放大)
《APMServ 5.1.2》使用图解
 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

PHP 相关文章推荐
Zend公司全球首推PHP认证
Oct 09 PHP
php的header和asp中的redirect比较
Oct 09 PHP
二十行语句实现从Excel到mysql的转化
Oct 09 PHP
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
Oct 09 PHP
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
May 27 PHP
PHP程序员面试 切忌急功近利(更需要注重以后的发展)
Sep 01 PHP
php批量更改数据库表前缀实现方法
Oct 26 PHP
PHP修改session_id示例代码
Jan 08 PHP
PHP屏蔽过滤指定关键字的方法
Nov 03 PHP
php 二维数组快速排序算法的实现代码
Oct 17 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
Nov 08 PHP
Thinkphp 框架扩展之类库扩展操作详解
Apr 23 PHP
APMServ使用说明
Oct 23 #PHP
别人整理的服务器变量:$_SERVER
Oct 20 #PHP
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
Oct 09 #PHP
PHP新手上路(十)
Oct 09 #PHP
来自PHP.NET的入门教程
Oct 09 #PHP
PHP新手上路(九)
Oct 09 #PHP
PHP新手上路(二)
Oct 09 #PHP
You might like
建立文件交换功能的脚本(一)
2006/10/09 PHP
模仿OSO的论坛(二)
2006/10/09 PHP
php 日期时间处理函数小结
2009/12/18 PHP
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
PHP生成不同颜色、不同大小的tag标签函数
2013/09/23 PHP
JS版网站风格切换实例代码
2008/10/06 Javascript
javascript 主动派发事件总结
2011/08/09 Javascript
jquery 缓存问题的几个解决方法
2013/11/11 Javascript
Node.js抓取中文网页乱码问题和解决方法
2015/02/10 Javascript
常用的Javascript数据验证插件
2015/08/04 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
第十章之巨幕页头缩略图与警告框组件
2016/04/25 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
2017/01/04 Javascript
Vue+SpringBoot开发V部落博客管理平台
2017/12/27 Javascript
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
对vue事件的延迟执行实例讲解
2018/08/28 Javascript
[02:24]DOTA2痛苦女王 英雄基础教程
2013/11/26 DOTA
Python的CGIHTTPServer交互实现详解
2018/02/08 Python
Python从零开始创建区块链
2018/03/06 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
Python一个简单的通信程序(客户端 服务器)
2019/03/06 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
2020/05/04 Python
服装设计师职业生涯规划范文
2014/02/28 职场文书
各营销点岗位职责范本
2014/03/05 职场文书
我的长生果教学反思
2014/04/28 职场文书
小学生个人先进事迹材料
2014/05/08 职场文书
学校教研活动总结
2014/07/02 职场文书
2014年辅导员工作总结
2014/11/18 职场文书
模范教师事迹材料
2014/12/16 职场文书
二审答辩状格式
2015/05/22 职场文书
用CSS3画一个爱心
2021/04/27 HTML / CSS