APMServ5.2.6 升级php5.2 到 5.3版本,及Memcache升级

来源:互联网 发布:巴黎斯坦 知乎 编辑:程序博客网 时间:2024/06/12 16:33

http://hi.baidu.com/xwjfu/item/59c6a33a2aa9c24e023edc59

http://www.php100.com/html/webkaifa/PHP/PHP/2010/0103/3746.html

http://windows.php.net/


一、如何选择PHP5.3的VC9版本和VC6版本

VC6是什么?
VC6就是legacy Visual Studio 6  compiler,就是使用这个编译器编译的。
VC9是什么?
VC9就是the Visual Studio 2008  compiler,就是用微软的VS编辑器编译的。

那我们如何选择下载哪个版本的PHP呢?
如果你是在windows下使用Apache+PHP的,请选择VC6版本;
如果你是在windows下使用IIS+PHP的,请选择VC9版本。


对于VC6还是VC9版本的选择,PHP官方网站有详细的描述,原文如下:

Which version do I choose?

If you are using PHP with Apache 1 or Apache2      from apache.org you need to use the VC6 versions of PHP

If you are using PHP with IIS you should use the VC9 versions of PHP

VC6 Versions are compiled with the legacy Visual Studio 6 compiler

VC9 Versions are compiled with the Visual Studio 2008 compiler and      have improvements in performance and stability. The VC9 versions      require you to have the Microsoft 2008 C++ Runtime (x86) or the Microsoft 2008 C++ Runtime (x64) installed

我该选择哪个版本? 如果你在apache1或者apache2下使用PHP,你应该选择VC6的版本 如果你在IIS下使用PHP应该选择VC9的版本 VC6的版本使用visual studio6编译 VC9使用Visual Studio 2008编译,并且改进了性能和稳定性。VC9版本的PHP需要你安装Microsoft 2008 C++ Runtime 不要在apache下使用VC9的版本

二、如何选择PHP5.3的Thread Safe和Non Thread Safe版本

再来看PHP的两种执行方式:ISAPI和FastCGI。


     ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread  Safe版本;


     而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non  Thread Safe版本。

    官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。


集成环境APMServ5.2.6 的php版本是php5.2.6,升级PHP版本到5.3.5:


1、到 php下载地址下载PHP5.3的VC6版本的zip文件,我下载的是:php-5.3.5-Win32-VC6-x86.zip

2、先停掉自己的web服务器,php-5.3.5-Win32-VC6-x86.zip解压文件后直接
覆盖APMServ5.2.6的原始PHP文件目录,重命名php.ini-development为php.ini

3、修改php.ini配置文件,找到extension_dir 设置php的扩展文件目录地址,
然后开启自己需要的扩展,和根据自己的需求设置其他选项,我的是:
extension_dir= “D:/APMServ5.2.6/PHP/ext”

4、到Apache\conf目录中找到httpd.conf修改配置,在LoadModule列表后面添加如下配置【具体路径根据自己的环境替换】:

LoadFile "D:/APMServ5.2.6/PHP/libmysql.dll"
LoadFile "D:/APMServ5.2.6/PHP/php5ts.dll"
LoadModule php5_module "D:/APMServ5.2.6/PHP/php5apache2_2.dll"
PHPIniDir "D:/APMServ5.2.6/PHP/php.ini"

注意:新下载的php文件夹中没有libmysql.dll,需要把原版本里面的该文件拷到新版本的php文件夹中

5、重启服务器,查看phpinfo信息是不是有了


ps:

如果使用phpmyadmin,那么也得升级。要么提示

Deprecated:  Function eregi() is deprecated in D:\APMServ5.2.6\www\phpMyAdmin\libraries\select_lang.lib.phpon line 146

http://sourceforge.net/projects/phpmyadmin/?source=dlp

直接替换原始phpMyAdmin文件夹


三、php5.3.5安装memcache注意事项

1、下载 php5.3.5 对应的 php_memecache.dll,

      下载地址  http://code.google.com/p/sirius/downloads/detail?name=php_memcache.dll&can=2&q=


2、将php_memcache.dll放到php安装目录的ext文件夹中

3、修改php.ini ,增加 extension=php_memcache.dll  扩展

4、重启apache服务,用phpinfo.php查看是否memcache模块

ps:不升级memcache的情况下会提示

       PHP Startup:memcache:Unable to initialize module

       Module compiled with module API=20060613

       PHP      complied with module API=20090626

       These options need to match

0 0
原创粉丝点击