版本相关概念说明:

  • ts/nts: thread safety 线程安全

    TS refers to multithread capable builds.
    NTS refers to single thread only builds.
    Use case for TS binaries involves interaction with a multithreaded SAPI and PHP loaded as a module into a web server.
    For NTS binaries the widespread use case is interaction with a web server through the FastCGI protocol, utilizing no multithreading (but also for example CLI).

  • VC6/VC9/VC11:
    • Compiler MSVC6 (Visual C++ 6.0)
    • Compiler MSVC9 (Visual C++ 2008)
    • Compiler MSVC11 (Visual C++ 2012)
  • x86/x64: 机器64位和32位

原创文章,转载请注明: http://www.cnblogs.com/ganiks/

1. 区分好版本,兼容性就明了了

1.1 php常见版本

http://windows.php.net/download/

具体到小版本号:

PHP 5.3 (5.3.29) VC9 ts/nts x86/x64
PHP 5.4 (5.4.32) VC9 ts/nts x86/x64
PHP 5.5 (5.5.16) VC11 ts/nts x86/x64
PHP 5.6 (5.6.0)  VC11 ts/nts x86/x64

1.2 Apache常见版本

http://httpd.apache.org/

  • Version 2.4.10
  • Version 2.2.29
  • Version 2.0

1.3 mod_fcgid常见版本

http://httpd.apache.org/mod_fcgid/

  • Version 2.3.6
  • Version 2.3.9

你的mod_perl处理你的CGI脚本是不是太累?

你是否想要在你服务器进程之外运行你的PHP程序?

那就快试试FastCGI吧。

mod_fcgid是Apache Http服务器的一个 FastCGI实现,将请求都指向它管理的FastCGI应用进程。
它是一个高性能的替代mod_cgi或者mod_cgid的不错的选择, 它启动了足够多的 CGI程序实例来处理当前的请求,并且这些实例还可以保持运行来面对即将到来的请求。

PHP开发者都喜欢它,比如,用它作为mod_php in-process 的优先选择。

貌似apache版本中一般都集成了mod_fcgid

1.4 memcache常见版本

http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/

php_memcache-3.0.8-5.3-nts-vc9-x86.zip
php_memcache-3.0.8-5.3-ts-vc9-x86.zip
php_memcache-3.0.8-5.4-nts-vc9-x86.zip
php_memcache-3.0.8-5.4-ts-vc9-x86.zip
php_memcache-3.0.8-5.5-nts-vc11-x64.zip
php_memcache-3.0.8-5.5-nts-vc11-x86.zip
php_memcache-3.0.8-5.5-ts-vc11-x64.zip
php_memcache-3.0.8-5.5-ts-vc11-x86.zip
php_memcache-3.0.8-5.6-nts-vc11-x64.zip
php_memcache-3.0.8-5.6-nts-vc11-x86.zip
php_memcache-3.0.8-5.6-ts-vc11-x64.zip
php_memcache-3.0.8-5.6-ts-vc11-x86.zip

1.5 zend guard/optimizer常见版本

http://www.zend.com/en/products/guard/downloads#Windows

Zend Guard Loader (Runtime for PHP 5.4) 6.0.0
Zend Guard Loader (Runtime for PHP 5.3) 5.5.0
Zend Optimizer (Runtime for PHP 5.2 and earlier)

很明显,针对不同的PHP版本要用到不同的zend guard loader版本或者用zend optimizer

注意区分 zend guardzend guard loader的区别

2. 按次序安装:

  1. 安装Apache[2.2.4-win32-x86-no_ssl],注意指定路径到 D:\localhost
  2. 解压缩PHP[5.3.29-ts-win32-VC9-x86]
  3. 安装Mysql[5.5.39-win32],注意指定路径到 D:\localhost 并且要运行初始化向导配置用户名密码以及编码

d

3. 配置Apache+PHP:

3.1 配置Apache下的conf\httpd.conf

#LoadModule cgi_module modules/mod_cgi.so
LoadModule fcgid_module modules/mod_fcgid.so

#LoadModule php5_module
PHPIniDir "D:\localhost\php5.3ts"
LoadModule php5_module D:\localhost\php5.3ts\php5apache2_2.dll
AddType application/x-httpd-php .php .phtml
#Remove above lines after you unintall php

DocumentRoot "D:/localhost/www"

<Directory "D:/localhost/www">
... ...
... ...
</Directory>

3.2 配置php.ini

如果apache配置中指定了PHPIniDir,则直接可以配置php目录下的php.ini
否则, php5.3ts中的php.ini拷贝一份到 C:\windows 下面,并配置:

extension_dir = "D:\localhost\php5.3ts\ext"

extension=php_bz2.dll
extension=php_curl.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
;extension=php_exif.dll      ; Must be after mbstring as it depends on it
extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
;extension=php_pdo_mssql.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
;extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_pspell.dll
;extension=php_shmop.dll

3.3 如果配置过程中报错,记得去看看 apache 目录下的 logs\errors

3.4 配置zend guard loader

解压缩 zend guard ZendLoader.dll到目录 yourphpdir\ext
修改PHP配置:

[Zend.loader]
zend_loader.enable=1
zend_loader.disable_licensing=1
zend_loader.obfuscation_level_support=3
zend_loader.license_path=
zend_extension="你的PHP安装目录\ext\ZendLoader.dll"

zend guard loader只支持NTS的版本,意味着如果你的php版本是TS的话,就没法使用zend guard loader了,如果你想查看自己的php是ts还是nts的,只需要输出phpinfo,然后搜索下:Thread Safety,disabled对应nts版本,否则为ts。
因此,终极解决办法就是,下载个php NTS版本进行安装即可。

深入分析windows下配置wamp环境各模块的版本兼容性的更多相关文章

  1. windows下配置lamp环境(0)---软件获取

    工作快一年了,还没有怎么配置过服务器环境,经常使用集成套件wampserver,为了复习配置wamp服务器 特意在虚拟机中测试安装步骤如下. 安装前步骤:下载软件.软件下载地址如下: 1.apache ...

  2. windows下配置lamp环境(5)---配置MySQL5.6

    开始配置mysql 1.创建配置文件my.ini   1.进入C:\wamp\MySQL   2.把my-default.ini 另存一份:my.ini   3.开始编辑mysql的配置文件,打开my ...

  3. windows下配置lamp环境(3)---配置PHP5.4

    下面配置php Php文件夹里有两个php.ini-*文件,随便修改一个,去掉后缀,变成php.ini (如图) 打开php.ini ,添加php扩展目录723行左右(其实放哪都无所谓,只不过php. ...

  4. windows下配置lamp环境(2)---配置Apache服务器2.2.25

    配置Apache 配置Apache时,先要找到安装目录中的主配置文httpd.conf,使用文本编辑器打开,最好不要使用windows自带的编辑器,可以使用NotePad++, vim,或者subli ...

  5. windows下配置lamp环境(1)---安装Apache服务器2.2.25

    window下lamp成为wamp; 安装wamp环境的第一步是安装Apache服务器.下面开始安装步骤图文并茂. 一.双击安装包点“next”进行下一步,然后同意协议(这张图没有截):

  6. windows下配置caffe(环境:win7+vs2013+opencv3.0)

    说明:大部分转载于initialneil的大作Caffe + vs2013 + OpenCV in Windows Tutorial (I) – Setup 准备工作: 1.下载CUDA7.5: ht ...

  7. windows下配置Java环境变量

    一.首先, JDK的安装路径,在这里我们选择默认安装在C:\Program Files\Java\jdk1.7.0_45\目录下. 二.下面, 设置环境变量: [1]“我的电脑”右键菜单---> ...

  8. Windows下配置OpenGL环境

    这里编译工具为VS2012. 首先OpenGL的官网如下链接(英文) http://www.opengl.org http://www.opengl.org/resources/libraries/g ...

  9. windows下配置lamp环境(4)---安装MySQL数据库5.6

    图解安装MySQL数据库 1.获取软件就多不说了 2.双击开始安装 3.点击点击NEXT进行下一步 4.同意协议,点击NEXT进入下一步 5.选择指定安装位置安装方法,进入安装位值选择页面: 6.分别 ...

随机推荐

  1. 理解JAVA - 面向对象(object) - 属性,方法

    理解JAVA - 面向对象(object) - 属性,方法 多态的体现:    向上造型,父类接收子类对象:向上造型:    从父类角度看不到子类独有的方法:面向对象,人类认知世界的方式:生活中每天都 ...

  2. 运用java集合Collections对List进行max和min操作

    我想创建了一个List,里面有一堆的数,一个需求是去掉一个最大值,一个最小值,List有remove的方法,但是找到最大值和最小值的方法不在List里,而是Collections的静态方法.真心觉得还 ...

  3. linux笔记七---------管道

    smarty的变量调节器就是linux的管道 管道:前者的输出是后者的输入 {$name|upper}   通过调节器使得名字变为大写输出 {$name|lower} linux的管道: ls –al ...

  4. 为PetaPoco添加实体模板

    Brad为我们提供了T4模板,因为公司一直在使用CodeSmith,故为其写了一个CodeSmith的模板,代码如下: <%-- Name:EntityTemplates Author: Des ...

  5. jQuery的查找

    children([expr])概述 :取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合.可以通过可选的表达式来过滤所匹配的子元素.注意:parents()将查找所有祖辈元素,而child ...

  6. java设定窗口步长,依次统计窗口内数值总和

    import java.util.Arrays; public class test2 { public static void main(String[] args) { int winSize = ...

  7. (四)文本编辑器Vim/Vi

    目录 前言 常用命令 扩展应用 总结 本系列先前的随笔位于新浪博客 前言 Vi和Vim都是文本编辑器,不同的是Vim是Vi的升级版本,它不仅兼容Vi的所有指令,而且还有一些新的特性在里面. Vim/V ...

  8. nodejs前端自动化构建

    http://99jty.com/?p=1257 http://www.jankerli.com/?p=1628 http://www.cnblogs.com/zhepama/archive/2013 ...

  9. 第三百四十八天 how can I 坚持

    回来的倒不晚,算了不想抱怨了. 晚上回来吃过饭,又看了遍<活着>,把一切悲剧都放在一个人身上了,很朴实,好感人. 一天就写了一个借口,也是醉了. 我的天气预报,我的struts.sprin ...

  10. 【转】理解依赖注入(IOC)和学习Unity

    IOC:英文全称:Inversion of Control,中文名称:控制反转,它还有个名字叫依赖注入(Dependency Injection).作用:将各层的对象以松耦合的方式组织在一起,解耦,各 ...