有时候,我们需要在WINDOWS服务器中安装多个不同版本的PHP环境,或采用不同的php.ini配置,例如在使用中国E商务网的IONCUBE系统对PHP程序进行加密后,要在php.ini中设置加载选项目,但这个选项和zend加密程序解释器不能同时存在,如果在服务器中有另外程序采用ZEND加密的话,就非常可惜。
如果能在WINDOWS服务器中装多套PHP,使用不同的PHP.INI就可以解决这样的问题。但是如果采用正规的方法要重新编译PHP,比较麻烦。我们最近已经研究成功,采用另一种方式来安装多个PHP:
首先安装一套PHP,采用默认方式,装在c:php ,安装后,php.ini一般自动复制到c:winnt下。
将winnt下的php.ini用Ctrl+c和 Ctrl+V方式复制到c:php下,这时候你可以用PHPINFO()查看php.ini的路径,已经自动变成c:/php/php.ini 了。
接着,就可以安装第二套PHP,最好换个磁盘,安装在d:php,安装时,PHP又会把php.ini拷贝在c:winnt下,只要如法炮制将其拷贝到d:php下就可以了。
然后,在IIS -> 主目录->配置中,可以为不同站点指定不同的PHP运行文件就可以了。
采用此方法安装两套PHP后,对系统资源并没有特别的影响,经测试,系统运行正常。
有时你需要知道你的站点访问者来自哪个国家——比如如果你正打算执行针对地理区域的广告计划。本文将对此方法进行介绍。
有时你需要知道你的站点访问者来自哪个国家——比如如果你正打算执行针对地理区域的广告计划。这正是象MaxMind's GeoIP一类的工具大显身手的地方——它可以让你从访问者的IP地址轻松获取其确切的地理位置信息。
MaxMind提供了商业数据库和免费数据库。前者更为精确,精度可以达使用者所在城市信息一级,而后者则只能确定国家和地区。在本文中,我们将演示免费版的使用方法。如果你需要更多详细信息,比如远程客户的城市以及国家信息,你需要从MaxMind:http://www.maxmind.com购买更详细的数据库。
起步
要使用此软件,你必须首先下载GeoIP免费国家信息文件:http://www.maxmind.com/app/geoip_country 并将其存放于Web服务器的某个目录中。然后你需要选择数据库文件所使用的语言API。为简化整个过程,我们将使用纯粹的PHP版本以避免其他额外的配置或设置Apache组件。请记住在安装软件到Web站点前阅读软件许可证条款:http://www.maxmind.com/download/geoip/database/LICENSE.txt以确保你同意这些条款。
代码列表A
<?php
// include functions
include("geoip.inc");
// read GeoIP database
$handle = geoip_open("GeoIP.dat", GEOIP_STANDARD);
// map IP to country
echo "IP address 62.149.130.132 located in " . geoip_country_name_by_addr($handle, "62.149.130.132") . " (country code " . geoip_country_code_by_addr($handle, "62.149.130.132") . ")";
// close database handler
// www.knowsky.com
geoip_close($handle);
// print compulsory license notice
echo "<p> -- This product includes GeoIP data created by MaxMind, available from http://maxmind.com/ --";
?>
列表A中的代码显示了使用模块(geoip.inc)以访问GeoIP免费国家信息数据库(GeoIP.dat)的基本方法。示例假设PHP include和国家家信息数据库文件都在与PHP文件本身相同的目录中。如果示例与你的安装不同,则需要根据需要改变路径。
示例代码相当明了,在引入GeoIP PHP函数库后,第一步即使用geoip_open()函数打开GeoIP数据库文件。此函数接收两个参数:数据库文件路径和数据库类型。
我们然后使用由调用geoip_open()返回的句柄,由此根据所给的IP地址以获取两字母的国家代码及直观的国家名称。其中还要分别借助函数geoip_country_code_by_addr()和geoip_country_code_by_name()。二者都接收两个参数:由geoip_open()返回的句柄以及需要解析的IP地址。
一旦获得所需信息,我们通过调用geoip_close()关闭数据库文件。
所做的就是这么简单。
Zend公司培训与认证主管-Daniel Kushner昨日向美国一著名媒体透露道,Zend公司决定创建新的Zend Certified Engineer认证以适应于那些需要证明自己在PHP技术方面的能力的人的需求。
Kushne说道,#200-100:Zend PHP认证考试(PHP考试科目)的创作是由10名PHP专家协助评测以确保它的合法性与正确性。他解释说:“质量是我们唯一的目标”。
该考试包含多选题,填空题以及其他标准的题型,Kushner推荐报考者至少拥有6个月的PHP工作经验来尝试这门考试,另外,它并不需要什么培训:)。
考试的项目可以在这个表中查到,考试中的问题都是从中精选出来的,它将是报考者的指南手册。目前该项考试可以在Pearson Vue测试中心注册并接受考试,当然价格也不菲:200$,国内考生如果想要报考的,可以使用VISA等外币储户直接在pearson vue进行注册,或者可以直接到任何一家Pearson VUE授权的考试中心进行注册,考试费用通常以当日美元汇率为准,如果考试中心超额收取考生的考试注册费用,可以直接向pearson vue举报,自身的正当权益一定要保护好。
获得Zend认证之后的一些优惠条件包括列入Zend站点即将推出的“黄页”,该黄页可以按PHP经验进行搜索,以便客户可以准确的找到自己想要找的合适的PHP开发人员,对于考生是非常不错的一件事情(在这一点上,似乎有些像微软新近要开始的“就业之星大赛”),另外取得PHP认证之后也会由Zend公司提供PHP产品的折扣以及PHP参考资料。
依照Kushner的说法,新的考试当前集中于PHP4,尽管PHP5已经发布,但公司计划对PHP4的考试保持一段时间,直到有迹象表明确实需要提供PHP5考试时才进行升级。
更多信息,请浏览Zend官方站点http://www.zend.com/,以获取您想要的信息。