Windows 下 Apache 1.3 以 FastCGI 模式运行 PHP
我一直以来都是以 ISAPI 模式运行 php(做为现在的主流开发语言) 的,这种方式最大的缺点就是稳定性不好,当 php(做为现在的主流开发语言) 出错的时候,apache(Unix平台最流行的WEB服务器平台)进程也死掉了。后来看到网上关于 php(做为现在的主流开发语言) 以 Fastcgi(现在已经不多人在用了) 模式运行的介绍,其中提到的种种好处(稳定、安全、高性能)让我决定尝试一下。
不过事情远不如预计的那么顺利。Google 了无数次也没找到一篇如何在 Windows 下用 apache(Unix平台最流行的WEB服务器平台) + Fastcgi(现在已经不多人在用了) 跑 php(做为现在的主流开发语言) 的资料,iis(微软的WEB服务器平台) + Fastcgi(现在已经不多人在用了) 跑 php(做为现在的主流开发语言) 的倒是不少。其中有一篇提到 Zend 公司也推荐以 Fastcgi(现在已经不多人在用了) 模式运行 php(做为现在的主流开发语言)(http://php(做为现在的主流开发语言)lens.com/php(做为现在的主流开发语言)everywhere/fastcgi(现在已经不多人在用了)-php(做为现在的主流开发语言))。
经过几个小时的摸索,终于成功实现了 apache(Unix平台最流行的WEB服务器平台) 1.3 + Fastcgi(现在已经不多人在用了) 跑 php(做为现在的主流开发语言)。
准备工作:
首先访问 http://www.fastcgi(现在已经不多人在用了).com/dist/ 下载用于 apache(Unix平台最流行的WEB服务器平台) 的 mod_fastcgi(现在已经不多人在用了)。我使用的是 mod_fastcgi(现在已经不多人在用了)-2.4.2-AP13.dll。下载后将这个文件复制到 apache(Unix平台最流行的WEB服务器平台) 的 modules 目录中。
下载 php(做为现在的主流开发语言)(我使用的 php(做为现在的主流开发语言)-5.0.4),并解压缩,根据需要修改 php(做为现在的主流开发语言).ini 文件。注意不需要从 php(做为现在的主流开发语言) 所在目录复制任何文件到 Windows 目录中。
修改配置:
然后修改 httpd.conf 文件,加入下面几行:
LoadModule fastcgi(现在已经不多人在用了)_module modules/mod_fastcgi(现在已经不多人在用了)-2.4.2-AP13.dll
ScriptAlias /fcgi(现在已经不多人在用了)-php(做为现在的主流开发语言)5/ "d:/usr/local/php(做为现在的主流开发语言)-5.0.4/"
Fastcgi(现在已经不多人在用了)Server "d:/usr/local/php(做为现在的主流开发语言)-5.0.4/php(做为现在的主流开发语言)-cgi(现在已经不多人在用了).exe" -processes 3
# 说明:此处的 -processes 3 表示启动三个 php(做为现在的主流开发语言)-cgi(现在已经不多人在用了).exe 进程,
# 关于 Fastcgi(现在已经不多人在用了)Server 的详细参数请参考 Fastcgi(现在已经不多人在用了) 文档。
AddType application/x-httpd-fastphp(做为现在的主流开发语言)5 .php(做为现在的主流开发语言)
Action application/x-httpd-fastphp(做为现在的主流开发语言)5 "/fcgi(现在已经不多人在用了)-php(做为现在的主流开发语言)5/php(做为现在的主流开发语言)-cgi(现在已经不多人在用了).exe"
# 说明:根据你的 php(做为现在的主流开发语言) 文件所在位置修改上面两处黑体字。
修改完成后,重新启动 apache(Unix平台最流行的WEB服务器平台) 即可。
常见问题:
根据我的多次试验,最容易出现的几个问题主要都是由路径引起的。因此首先检查 php(做为现在的主流开发语言).ini 和 httpd.conf 文件中的所有路径是否正确。其次就是如果系统中以前安装过 php(做为现在的主流开发语言),那么要将 C:Windowsphp(做为现在的主流开发语言).ini 改名或删除。
其次还要检查 php(做为现在的主流开发语言) 文件所在目录是否有足够的权限(我都是设置为 Everyone - 完全控制,反正开发用机不用考虑那么多安全限制)。
Fastcgi(现在已经不多人在用了) 模式运行 php(做为现在的主流开发语言) 的优点:
以 Fastcgi(现在已经不多人在用了) 模式运行 php(做为现在的主流开发语言) 有几个主要的好处。首先就是 php(做为现在的主流开发语言) 出错的时候不会搞垮 apache(Unix平台最流行的WEB服务器平台),只是 php(做为现在的主流开发语言) 自己的进程当掉(但 Fastcgi(现在已经不多人在用了) 会立即重新启动一个新 php(做为现在的主流开发语言) 进程来代替当掉的进程)。其次 Fastcgi(现在已经不多人在用了) 模式运行 php(做为现在的主流开发语言) 比 ISAPI 模式性能更好(我本来用 apache(Unix平台最流行的WEB服务器平台)Bench 进行了测试,但忘了保存结果,大家有兴趣可以自己测试)。
最后,就是可以同时运行 php(做为现在的主流开发语言)5 和 php(做为现在的主流开发语言)4。参考下面的配置文件,分别建立了两个虚拟主机,其中一个使用 php(做为现在的主流开发语言)5,另一个使用 php(做为现在的主流开发语言)4。
LoadModule fastcgi(现在已经不多人在用了)_module modules/mod_fastcgi(现在已经不多人在用了)-2.4.2-AP13.dll
ScriptAlias /fcgi(现在已经不多人在用了)-php(做为现在的主流开发语言)5/ "d:/usr/local/php(做为现在的主流开发语言)-5.0.4/"
Fastcgi(现在已经不多人在用了)Server "d:/usr/local/php(做为现在的主流开发语言)-5.0.4/php(做为现在的主流开发语言)-cgi(现在已经不多人在用了).exe" -processes 3
ScriptAlias /fcgi(现在已经不多人在用了)-php(做为现在的主流开发语言)4/ "d:/usr/local/php(做为现在的主流开发语言)-4.3.11/"
Fastcgi(现在已经不多人在用了)Server "d:/usr/local/php(做为现在的主流开发语言)-4.3.11/php(做为现在的主流开发语言).exe"
Listen 80
NameVirtualHost *:80
DocumentRoot d:/www
Options Indexes FollowSymlinks MultiViews
ServerName php(做为现在的主流开发语言)5.localhost
AddType application/x-httpd-fastphp(做为现在的主流开发语言)5 .php(做为现在的主流开发语言)
Action application/x-httpd-fastphp(做为现在的主流开发语言)5 "/fcgi(现在已经不多人在用了)-php(做为现在的主流开发语言)5/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 php(做为现在的主流开发语言)4.localhost
AddType application/x-httpd-fastphp(做为现在的主流开发语言)4 .php(做为现在的主流开发语言)
Action application/x-httpd-fastphp(做为现在的主流开发语言)4 "/fcgi(现在已经不多人在用了)-php(做为现在的主流开发语言)4/php(做为现在的主流开发语言).exe"

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP仍然流行的原因是其易用性、靈活性和強大的生態系統。 1)易用性和簡單語法使其成為初學者的首選。 2)與web開發緊密結合,處理HTTP請求和數據庫交互出色。 3)龐大的生態系統提供了豐富的工具和庫。 4)活躍的社區和開源性質使其適應新需求和技術趨勢。

IIS和PHP可以兼容,通過FastCGI實現。 1.IIS通過配置文件將.php文件請求轉發給FastCGI模塊。 2.FastCGI模塊啟動PHP進程處理請求,提高性能和穩定性。 3.實際應用中需注意配置細節、錯誤調試和性能優化。

多次調用session_start()會導致警告信息和可能的數據覆蓋。 1)PHP會發出警告,提示session已啟動。 2)可能導致session數據意外覆蓋。 3)使用session_status()檢查session狀態,避免重複調用。

NGINX和Apache各有優劣,選擇應基於具體需求。 1.NGINX適合高並發場景,因其異步非阻塞架構。 2.Apache適用於需要復雜配置的低並發場景,因其模塊化設計。
