为什么使用FastCGI?
如果要使用一套 Zend Guard 加密 PHP 程序,且运行环境是 PHP5.3或PHP5.3以上,就需要使用 Zend Guard Loader 扩展。
注:php5.3以上的版本Zend Guard Loader 3.3 只能在 NTS下面运行 要下载对应的
程序清单
1/Apache
(httpd-2.4.12-win32-VC11, http://www.apachelounge.com/download/VC11/binaries/httpd-2.4.12-win32-VC11.zip)
2/PHP
(php-5.4.39.zip, http://windows.php.net/download/#php-5.4-nts-VC9-x86)
3/Apache2.4的fastCGI的模块 – mod_fcgid.so
(mod_fcgid-2.3.6-win32-x86.zip, http://www.apachelounge.com/download/)
VC11表示需要微软VC11支持,否则在你安装apache时会报无法启动此程序,因为计算机中丢失MSVCR110.dll的解决方法 的错误。
Be sure that you have installed Visual C++ Redistributable for Visual Studio 2012 : VC11 vcredist_x64/86.exe
安装步骤
1/ 安装 apache
conf/httpd.conf:
ServerRoot “d:/myenv/Apache24” #设置 Apache 安装存放的目录地址
DocumentRoot “d:/myenv/Apache24/htdocs”
<Directory “d:/myenv/Apache24/htdocs”>
ScriptAlias /cgi-bin/ “d:/myenv/Apache24/cgi-bin/”
<Directory “d:/myenv/Apache24/cgi-bin”>
Listen 80 #设置 Apache 监听端口
<IfModule dir_module>
#设置主目录的默认首页,用空格隔开,哪个在前就先解析哪个
</IfModule>
在浏览器输入http://127.0.0.1/,出现“It works!”,即说明apache配置成功
由于 apache 为一个服务,将 apache(D:\myenv\Apache24\bin) 添加为环境变量,
在 cmd 命令行(终端)输入命令: net start apache 即可启动 Apache,
或者到计算机 -> 管理 -> 服务和应用程序 -> 服务 -> apache -> 启动,即可启动 Apache。
2/安装 php
下载的 php 文件不需要安装,直接解压就可以用
3/整合 apache 和 php
解压缩mod_fcgid-2.3.6-win32-x86.zip,并把mod_fcgid.so文件复制到D:\myenv\Apache24\modules 下
apache的 httpd.conf 后面添加 如下代码
# FastCGI with Thread Safety disabled
LoadModule fcgid_module modules/mod_fcgid.so
<IfModule mod_fcgid.c>
AddHandler fcgid-script .fcgi .php
#php.ini的存放目录
FcgidInitialEnv PHPRC ” D:/myenv/php-5.4.39/”
# 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程在处理完所有请求前退出
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
#php-cgi每个进程的最大请求数
FcgidMaxRequestsPerProcess 1000
#php-cgi最大的进程数
FcgidMaxProcesses 5
#最大执行时间
FcgidIOTimeout 120
FcgidIdleTimeout 120
#php-cgi的路径
FCGIWrapper ” D:/myenv/php-5.4.39/php-cgi.exe” .php
AddType application/x-httpd-php .php
</IfModule>
在Directory 的Options Indexes FollowSymLinks后面添加Includes ExecCGI:
<Directory “E:/webroot”>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride None
Require all granted
</Directory>
打开 php.ini 文件:
doc_root = e:/myenv/apache/htdocs#将其设置为和Apache的httpd.conf文件中DocumentRoot的值一致。
extension_dir=c:/myenv/php-5.3.5/ext #把前边的 ; 去除
#常用功能
extension=php_bz2.dll #处理图像
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
配置环境变量,右击“我的电脑”>>“高级”>> “环境变量”将 php的目录和php/ext/目录全部加进去,
每个变量用分号隔开(比如D:\php\;D:\php\ext\)
4/添加 zend 支持
下载 ZendLoader.dll后的需要放在 php安装目录的 ext下面
在php.ini 文件里面 添加 zend的代码
[Zend.loader]
zend_extension=F:\PHPnow\php-5.4.35-nts-Win32\ext\ZendLoader.dll
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=