《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 相关文章推荐
PHP+AJAX实现无刷新注册(带用户名实时检测)
Jan 02 PHP
php5 图片验证码实现代码
Dec 11 PHP
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
May 10 PHP
php下删除一篇文章生成的多个静态页面
Aug 08 PHP
采集邮箱的php代码(抓取网页中的邮箱地址)
Jul 17 PHP
php多文件上传下载示例分享
Feb 20 PHP
基于php实现七牛抓取远程图片
Dec 01 PHP
thinkphp3.x中变量的获取和过滤方法详解
May 20 PHP
Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等
Mar 29 PHP
详解php语言最牛掰的Laravel框架
Nov 20 PHP
PHP抽象类和接口用法实例详解
Jul 20 PHP
TP5框架实现一次选择多张图片并预览的方法示例
Apr 04 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
Php做的端口嗅探器--可以指定网站和端口
2006/10/09 PHP
xajax写的留言本
2006/11/25 PHP
PHP转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
PHP程序漏洞产生的原因分析与防范方法说明
2014/03/06 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
COM中获取JavaScript数组大小的代码
2009/11/22 Javascript
JavaScript setTimeout和setInterval的使用方法 说明
2010/03/25 Javascript
javascript通过class来获取元素实现代码
2013/02/20 Javascript
子窗体与父窗体传值示例js代码
2013/08/01 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
2018/02/03 Javascript
基于JavaScript实现每日签到打卡轨迹功能
2018/11/29 Javascript
Bootstrap简单实用的表单验证插件BootstrapValidator用法实例详解
2020/03/29 Javascript
Python模块学习 re 正则表达式
2011/05/19 Python
Python中的异常处理简明介绍
2015/04/13 Python
python 爬虫出现403禁止访问错误详解
2017/03/11 Python
Python中正则表达式的用法总结
2019/02/22 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
纯CSS3绘制打火机动画火焰效果
2016/07/18 HTML / CSS
HTML5中的进度条progress元素简介及兼容性处理
2016/06/02 HTML / CSS
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
财务会计实习报告体会
2013/12/20 职场文书
心理健康教育制度
2014/01/27 职场文书
客户接待方案
2014/02/26 职场文书
观看《永远的雷锋》心得体会
2014/03/12 职场文书
员工保密协议书
2014/09/27 职场文书
税务干部个人整改措施思想汇报
2014/10/10 职场文书
军训后的感想
2015/08/07 职场文书
销区经理年终述职报告模板
2019/11/28 职场文书
Win11 21h2可以升级22h2吗?看看你的电脑符不符合要求
2022/07/07 数码科技
java实现web实时消息推送的七种方案
2022/07/23 Java/Android