查看内容

模式运行

  • 2020-04-30 06:47
  • 编程人生
  • Views

本身长期以来都以以 ISAPI 格局运转 PHP 的,这种艺术最大的老毛病便是稳固不佳,当 PHP 出错的时候,Apache进度也死掉了。后来收看网络关于 PHP 以 法斯特CGI 格局运作的牵线,在那之中涉嫌的种种好处让自身决定尝试一下。

可是事情远不及猜测的那么顺遂。Google 了过数十次也没找到一篇如何在 Windows 下用 Apache + 法斯特CGI 跑 PHP 的素材,IIS + FastCGI 跑 PHP 的倒是不菲。当中有一篇涉嫌 Zend 公司也援用以 FastCGI 形式运作 PHP。

因此多少个小时的查找,终于成功完成了 Apache 1.3 + 法斯特CGI 跑 PHP。

预备职业: 首先访谈 下载用于 Apache 的 mod_fastcgi。小编利用的是 mod_fastcgi-2.4.2-AP13.dll。下载后将那个文件复制到 Apache 的 modules 目录中。

下载 PHP,并解压缩,依据需求改良 php.ini 文件。注意无需从 PHP 所在目录复制任何文件到 Windows 目录中。

改过配置: 然后校勘 文件,参预上边几行:

LoadModule fastcgi_module modules/mod_fastcgi-2.4.2-AP13.dll ScriptAlias /fcgi-php5/ "d:/usr/local/php-5.0.4/" FastCgiServer "d:/usr/local/php-5.0.4/php-cgi.exe" -processes 3 # 表明:此处的 -processes 3 表示运行三个 php-cgi.exe 进程, # 关于 法斯特CgiServer 的详实参数请参见 法斯特CGI 文书档案。 AddType application/x- .php Action application/x- "/fcgi-php5/php-cgi.exe" # 表明:依照你的 PHP 文件所在地点修正上边两处小篆字。

改过产生后,重新起动 Apache 就能够。

大规模问题: 依照自家的一再考试,最轻易并发的多少个难题关键都是由路线引起的。因而首先检查 php.ini 和 文件中的全体路径是或不是正确。其次就是一旦系统中以前设置过 PHP,那么要将 C:Windowsphp.ini 改名或删除。

说不上还要检查 PHP 文件所在目录是或不是有丰裕的权力。

法斯特CGI 格局运营 PHP 的长处: 以 法斯特CGI 形式运作 PHP 有多少个第一的裨益。首先便是 PHP 出错的时候不会搞垮 Apache,只是 PHP 本身的历程当掉。其次 法斯特CGI 格局运转 PHP 比 ISAPI 方式质量更加好。

最后,正是足以同期运维 PHP5 和 PHP4。参照他事他说加以侦查下边包车型客车布署文件,分别创设了五个设想主机,当中叁个行使 PHP5,另叁个接纳 PHP4。

LoadModule fastcgi_module modules/mod_fastcgi-2.4.2-AP13.dll

ScriptAlias /fcgi-php5/ "d:/usr/local/php-5.0.4/" FastCgiServer "d:/usr/local/php-5.0.4/php-cgi.exe" -processes 3 ScriptAlias /fcgi-php4/ "d:/usr/local/php-4.3.11/" FastCgiServer "d:/usr/local/php-4.3.11/php.exe"

Listen 80 NameVirtualHost *:80

DocumentRoot d:/www Options Indexes FollowSymlinks MultiViews ServerName php5.localhost

AddType application/x- .php Action application/x- "/fcgi-php5/php-cgi.exe"

IndexOptions FancyIndexing FoldersFirst Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all

Listen 8080 NameVirtualHost *:8080

DocumentRoot d:/www Options Indexes FollowSymlinks MultiViews ServerName php4.localhost

AddType application/x- .php Action application/x- "/fcgi-php4/php.exe"

Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny Allow from all

接纳方面包车型大巴布置,访问 就利用 PHP5,而访问 就采用PHP4。所以要是合理配置,就可以让差异的设想主机使用区别版本的 PHP。

法斯特CGI 方式的某个欠缺: 讲罢了利润,也来讲说短处。从本身的其实使用来看,用 法斯特CGI 情势更切合生育条件的服务器。但对于开辟用机器来讲就不太方便。因为当使用 Zend Studio 调试程序时,由于 FastCGI 会以为 PHP 进程超时,进而在页面再次来到500 错误。那或多或少令人不胜生气,所以自个儿在支付机器上恐怕换回了 ISAPI 格局。

终极,在 Windows 中以 法斯特CGI 情势存在潜在的安全漏洞。因为自己还未找到什么样在 Windows 情状下完成 SuEXEC 的不二等秘书诀,由此 PHP 的进度总是以万丈权力运营,那从安全角度来看明白不是个好音信。

结束语: 本文对 法斯特CGI 的选用还停留在很初级的级差,仅作为投砾引珠,希望有更成熟的减轻方案现身。