版本相关概念说明:

  • 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. QT + OpenCV + MinGW 在windows下配置开发环境

           由于研究项目需要,最近开始接触C++界面设计,关于“QT + OpenCV + MinGW在windows下配置开发环境”着实让人头疼,单次配置时间相当长,也十分不容易,本人第一次配置成 ...

  7. Windows 下配置 Vagrant 环境

    Vagrant是一个基于 Ruby 的工具,用于创建和部署虚拟化开发环境.它使用 Oracle 的开源VirtualBox虚拟化系统. Vagrant 在快速搭建开发环境方面是很赞的,试想一个团队中, ...

  8. window 下配置wamp 环境

    PHP下载 下载php压缩包,几点注意:这里我安装的事apache 所以在 php官方下载页时不是随便下载的,不然可能配置不了apache! 注意我以下图片标注

  9. windows下配置java环境jdk

    Windows系统下搭建java的开发环境和配置环境变量 具体步骤打开链接地址:https://www.cnblogs.com/lijuntao/p/6694483.html

随机推荐

  1. jansen字符串转换为xml格式

    /// <summary> /// json字符串转换为Xml对象 /// </summary> /// <param name="sJson"> ...

  2. CSS优先级算法是如何计算?

    CSS的specificity特性或非凡性,它是一个衡量css优先级的一个标准, 既然的标准就有判定规定和计算方式,specificity用一个四位数来表示, 更像四级从左到右,左的最大级,一级大于一 ...

  3. Silverlight中DataPager控件扩展

    大家一定遇到这样的情况,想改变一下SL的DataPager的显示信息,比如希望分页控件上显示数据的总数.那么就需要扩展一下DataPager控件即可. 其实扩展DataPager很简单,只要获取到Da ...

  4. [译]MongoDb生产环境注意事项

    译注: 本文是翻译MongoDB Manuel中的MongoDB Production Notes一节内容.这节内容重点关注生产环境中影响性能和可靠性的各种注意事项,值得正在部署MongoDB的工作者 ...

  5. PHP MYSQLI中事务处理

    MYSQL事务处理让所有sql语句执行成功后才去处理,如果有一条没有成功或者报错就会回滚事务,防止敏感操作处理失败.MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其它类型是不支持的 ...

  6. Python 字典(Dictionary)操作详解

    Python 字典(Dictionary)的详细操作方法. Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字 ...

  7. C++十进制转换为二进制

    题目内容:将十进制整数转换成二进制数. 输入描述:输入数据中含有不多于50个的整数n(-231<n<231). 输出描述:对于每个n,以11位的宽度右对齐输入n值,然后输出“-->” ...

  8. hdu 4324 Triangle LOVE

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=4324 Triangle LOVE Description Recently, scientists f ...

  9. PHP调用WEBSERVICE接口常见问题答疑以及总结

    最近的工作项目中,接触到了很多的政府 微信开发项目.对方的外包公司都是使用JAVA作为开发语言,然后通过WEBSERVICE进行接口返回数据到我的项目中.一般情况下,能在浏览器打开并显示数据的接口是直 ...

  10. c/c++常用代码--使用libcurl下载文件

    #pragma once #include <stdio.h>#include <stdlib.h> #include <curl/curl.h> #ifdef   ...