php5學習系列筆記(連載)
目錄:
第一章:windows下用原始碼編譯安裝php5.3.6,以fastcgi方式整合到apache中。
準備條件:
下載apache2.2版本並安裝,下載地址http://httpd.apache.org/download.cgi#apache22,根據需要下載包含或者不包含ssl功能的安裝檔案(windows版本),目前版本是2.2.19
下載Windows下的編譯工具:http://www.php.net/extra/win32build.zip
下載PHP5.3.6的Windows原始碼版:http://windows.php.net/downloads/releases/php-5.3.6-src.zip
下載PHP5.3.6的Windows原始碼版:http://windows.php.net/downloads/releases/php-5.3.6-src.zip
下載fastcgi,解壓到apache的modules目錄,下載地址http://labs.renren.com/apache-mirror//httpd/binaries/win32/mod_fcgid-2.3.6-win32-x86.zip
下載後解壓,並將win32build下的兩個exe檔案拷貝到windows目錄下。
解壓php的原始碼,用emeditor或者editplus工具開啟extstandardrowscap.c,另存為utf-8格式(因為原來為西文,我們在中文xp下編譯這個檔案會出錯)。
準備好了就可以開始了。
執行步驟如下:
1、我們使用Visual C++ 2008(也可以用2005)編譯(不用cygwin),開啟一個cmd視窗,執行C:Program FilesMicrosoft Visual Studio 9.0VCvcvarsall.bat檔案(準備vc++環境),在執行完下面的命令之前,開啟的視窗不能關閉,且後續命令都在這個視窗中執行。
2、進入php原始碼解壓後的目錄,如c:php-5.3.6,執行buildconf.bat檔案,執行這個檔案的目的是生成configure.bat等檔案。
3、執行configure.bat,相關的引數可以通過configure –help檢視。這裡需要用引數–with-php-build指定win32build的目錄。其他引數根據自己的實際需要指定。配置後看到執行nmake資訊證明配置準確。
4、執行nmake,這時候你能看到在你指定的輸出目錄下生成一個Release_TS目錄,進入這個目錄執行php -v檢視php版本資訊。
至此,php的編譯安裝完成。
下面配置fastcgi方式使用php。
開啟apache的配置檔案,httpd.conf,新增下面資訊:
- LoadModule fcgid_module modules/mod_fcgid.so
- AddHandler fcgid-script .fcgi .php
- #php.ini的存放目錄
- #FcgidInitialEnv PHPRC “C:/php”
- # 設定PHP_FCGI_MAX_REQUESTS大於或等於FcgidMaxRequestsPerProcess,防止php-cgi程式在處理完所有請求前退出
- FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
- #php-cgi每個程式的最大請求數
- FcgidMaxRequestsPerProcess 1000
- #php-cgi最大的程式數
- FcgidMaxProcesses 3
- #最大執行時間
- FcgidIOTimeout 120
- FcgidIdleTimeout 120
- #php-cgi的路徑
- FcgidWrapper “C:/php/php-cgi.exe” .php
- AddType application/x-httpd-php .php
並修改原來的節裡的
Options Indexes FollowSymLinks,改為 Options Indexes FollowSymLinks Includes ExecCGI
儲存,重啟apache。
在htdoc目錄下寫一個php檔案,
- ?php
- phpinfo();
- ?>
這是你應該能看到php版本輸出資訊。
相關文章
- jQuery 學習系列筆記jQuery筆記
- Java學習筆記系列-反射Java筆記反射
- 架構學習筆記系列三架構筆記
- 架構學習筆記系列二架構筆記
- 架構學習筆記系列一架構筆記
- 強化學習-學習筆記15 | 連續控制強化學習筆記
- 載譚 Binomial Sum 學習筆記筆記
- substrate學習筆記13:連線parachain筆記AI
- SpringBoot系列之YAML配置用法學習筆記Spring BootYAML筆記
- C++學習筆記-Cherno C++系列C++筆記
- LVGL雙向連結串列學習筆記筆記
- Python學習筆記 - 下載圖片Python筆記
- numpy的學習筆記\pandas學習筆記筆記
- 學習C過程中的筆記系列-2筆記
- 全連線神經網路學習筆記神經網路筆記
- jvm學習筆記6:類載入器JVM筆記
- JVM學習筆記——類載入機制JVM筆記
- SpringCloud學習筆記:負載均衡Ribbon(3)SpringGCCloud筆記負載
- 學習筆記筆記
- 阿龍的學習筆記---《程式設計師自我修養-連結、裝載與庫》讀書筆記(二)筆記程式設計師
- PHP學習筆記系列:PHP生成器概覽PHP筆記
- 我的 golang 學習筆記系列四:反射初識Golang筆記反射
- PHP從零開始系列二(學習筆記):序言PHP筆記
- PHP從零開始系列一(學習筆記):前言PHP筆記
- Presto學習筆記——Go客戶端連線PrestoREST筆記Go客戶端
- 「學習筆記」雙連通分量、割點與橋筆記
- C++學習筆記(二) 運算子過載C++筆記
- 【學習筆記】數學筆記
- 《JAVA學習指南》學習筆記Java筆記
- 機器學習學習筆記機器學習筆記
- 機器學習--白板推導系列筆記1 開篇機器學習筆記
- 你不懂js系列學習筆記-非同步與效能- 02JS筆記非同步
- 你不懂js系列學習筆記-非同步與效能- 05JS筆記非同步
- 架構學習筆記系列四——架構師軟文架構筆記
- Flutter筆記——幀繪製系列之一(原始碼學習)Flutter筆記原始碼
- stm32f10x系列學習筆記(三)ADC筆記
- 我的 golang 學習筆記系列一:什麼是切片Golang筆記
- 學習筆記-粉筆980筆記
- 學習筆記(3.29)筆記