版本相关概念说明:
VC6/VC9/VC11:
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/x64PHP 5.4 (5.4.32) VC9 ts/nts x86/x64PHP 5.5 (5.5.16) VC11 ts/nts x86/x64PHP 5.6 (5.6.0) VC11 ts/nts x86/x64
1.2 Apache常见版本http://httpd.apache.org/
http://httpd.apache.org/mod_fcgid/
你的mod_perl
处理你的CGI脚本是不是太累?
你是否想要在你服务器进程之外运行你的PHP程序?
那就快试试FastCGI
吧。
mod_fcgid
是Apache Http服务器的一个 FastCGI实现,将请求都指向它管理的FastCGI应用进程。它是一个高性能的替代mod_cgi
或者mod_cgid
的不错的选择, 它启动了足够多的 CGI程序实例来处理当前的请求,并且这些实例还可以保持运行来面对即将到来的请求。
PHP开发者都喜欢它,比如,用它作为mod_php
in-process 的优先选择。
1.4 memcache常见版本貌似apache版本中一般都集成了
mod_fcgid
http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/
php_memcache-3.0.8-5.3-nts-vc9-x86.zipphp_memcache-3.0.8-5.3-ts-vc9-x86.zipphp_memcache-3.0.8-5.4-nts-vc9-x86.zipphp_memcache-3.0.8-5.4-ts-vc9-x86.zipphp_memcache-3.0.8-5.5-nts-vc11-x64.zipphp_memcache-3.0.8-5.5-nts-vc11-x86.zipphp_memcache-3.0.8-5.5-ts-vc11-x64.zipphp_memcache-3.0.8-5.5-ts-vc11-x86.zipphp_memcache-3.0.8-5.6-nts-vc11-x64.zipphp_memcache-3.0.8-5.6-nts-vc11-x86.zipphp_memcache-3.0.8-5.6-ts-vc11-x64.zipphp_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.0Zend Guard Loader (Runtime for PHP 5.3)5.5.0Zend Optimizer (Runtime for PHP 5.2 and earlier)
很明显,针对不同的PHP版本要用到不同的zend guard loader
版本或者用zend optimizer
2. 按次序安装:注意区分
zend guard
和zend guard loader
的区别
[2.2.4-win32-x86-no_ssl]
,注意指定路径到 D:\localhost[5.3.29-ts-win32-VC9-x86]
[5.5.39-win32]
,注意指定路径到 D:\localhost 并且要运行初始化向导配置用户名密码以及编码d
3. 配置Apache+PHP:3.1 配置Apache下的conf\httpd.conf
#LoadModule cgi_module modules/mod_cgi.soLoadModule fcgid_module modules/mod_fcgid.so#LoadModule php5_modulePHPIniDir "D:\localhost\php5.3ts"LoadModule php5_module D:\localhost\php5.3ts\php5apache2_2.dllAddType application/x-httpd-php .php .phtml#Remove above lines after you unintall phpDocumentRoot "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.dllextension=php_curl.dll;extension=php_fileinfo.dllextension=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.dllextension=php_mbstring.dll;extension=php_exif.dll ; Must be after mbstring as it depends on itextension=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\errors3.4 配置zend guard loader解压缩 zend guard ZendLoader.dll
到目录 yourphpdir\ext
修改PHP配置:
[Zend.loader]zend_loader.enable=1zend_loader.disable_licensing=1zend_loader.obfuscation_level_support=3zend_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版本进行安装即可。