日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Windows下Apache以FastCGI模式運(yùn)行PHP

 緣夢(mèng)書(shū)摘 2014-11-18


第一步:下載安裝的文件



1. Apache 版本 httpd-2.2.21-win32-x86-no_ssl.msi

2. mod_fcgid 版本 mod_fcgid-2.3.6-win32-x86.zip

3. MySQL 版本 mysql-5.5.19-win32.msi

4. PHP 版本 php-5.3.5-nts-Win32-VC6-x86.zip



提示:

1. 建議選擇無(wú)SSL功能的Apache版本來(lái)完成開(kāi)發(fā),我們這里使用了httpd-2.2.21-win32-x86-no_ssl.msi。

2. 建議選擇由Apache官方所提供的mod_fcgid 作為FastCGI模塊。我們這里使用目前最新版本2.3.6。 mod_fcgid官方地址

3. Windows下安裝MySQL就選擇.msi安裝包格式,我們選擇了mysql-5.5.19-win32.msi ,雙擊根據(jù)向?qū)О惭b即可,簡(jiǎn)單方便。

4. PHP我們選擇用php-5.3.5-nts-Win32-VC6-x86.zip 這個(gè)版本。這個(gè)是nts(非線程安全)版本,是針對(duì)PHP的FastCGI安裝方式。 



第二步:安裝文件



1. 在要安裝的磁盤(pán)建一個(gè)文件夾。為了以后管理方便我們?cè)贒盤(pán)的根目錄下創(chuàng)建一個(gè)WAMP文件夾。 D:\WAMP(WAMP是 windows+apache+mysql+php的縮寫(xiě))。

2. 在WAMP文件夾下創(chuàng)建一個(gè)WWW文件夾,用來(lái)存放你的PHP網(wǎng)站程序。D:\WAMP\WWW。

3. 安裝Apache服務(wù)器,把Apache服務(wù)器安裝到 D:\WAMP\Apache 文件夾。具體Apache安裝過(guò)程可以參考文檔 Apache安裝圖解

4. 把下載的php-5.3.5-nts-Win32-VC6-x86 解壓到 D:\WAMP\PHP 文件夾。

5. 安裝MySql數(shù)據(jù)庫(kù),把MySQL安裝到 D:\WAMP\MySQL文件夾。具體MySQL安裝過(guò)程可以參考文檔 MySQL安裝圖解。



第三步:配置 Apache



首先使用文本編輯工具(推薦 EditPlus )打開(kāi) D:\WAMP\Apache\conf\httpd.conf 文件,這個(gè)文件是Apache的配置文件,下面幾步都是在修改這個(gè)文件的內(nèi)容。

要注意的是修改完 httpd.conf 文件需重新啟動(dòng)Apache服務(wù),新設(shè)置才會(huì)生效。



1. 設(shè)置監(jiān)聽(tīng)端口



打開(kāi) httpd.conf 文件后,找到 Listen(大概在第46行),將它后面的數(shù)字改為8080,如下:


        Listen 8080


這個(gè)參數(shù)用來(lái)設(shè)置Apache服務(wù)器的監(jiān)聽(tīng)端口,一般默認(rèn)為80。修改為8080 是為了避免和Windows 2003系統(tǒng)的IIS端口號(hào)沖突,如果你沒(méi)有啟用IIS,也可以使用默認(rèn)的80端口號(hào)。



2. 修改網(wǎng)站存放目錄



我們知道Apache默認(rèn)的網(wǎng)站存放目錄為Apache安裝目錄下的htdocs文件夾。當(dāng)你更改網(wǎng)站存放目錄,就必須修改相應(yīng)的Apache配置。

在配置文件 httpd.conf 中查找 DocumentRoot,將其修改為指向網(wǎng)站目錄的正確文件夾。我們這里改為


	DocumentRoot "D:/WAMP/www"


同時(shí),查找 This should be changed to whatever you set DocumentRoot to,在它下面有行 <Directoy 默認(rèn)的DocumentRoot >,將其修改為你自己配置的DocumentRoot 路徑。我們這里修改為:


	<Directory "D:/WAMP/www">


3. mod_fcgid 配置



我們將下載的 mod_fcgid-2.3.6-win32-x86.zip 壓縮包中的“mod_fcgid.so”文件復(fù)制到apache的“modules”目錄。



打開(kāi) httpd.conf 文件,在最后加入如下配置:


LoadModule fcgid_module modules/mod_fcgid.so
<IfModule mod_fcgid.c>
    AddHandler fcgid-script .fcgi .php
    #php.ini的存放目錄
    FcgidInitialEnv PHPRC "D:/WAMP/PHP"
    # 設(shè)置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi進(jìn)程在處理完所有請(qǐng)求前退出
    FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
    #php-cgi每個(gè)進(jìn)程的最大請(qǐng)求數(shù)
    FcgidMaxRequestsPerProcess 1000
    #php-cgi最大的進(jìn)程數(shù)
    FcgidMaxProcesses 5
    #最大執(zhí)行時(shí)間
    FcgidIOTimeout 120
    FcgidIdleTimeout 120
    #php-cgi的路徑
    FcgidWrapper "D:/WAMP/PHP/php-cgi.exe" .php
    AddType application/x-httpd-php .php
</IfModule>


修改DocumentRoot 路徑的配置為:


<Directory "D:/WAMP/WWW">  
    Options Indexes FollowSymLinks ExecCGI  
    Order allow,deny  
    Allow from all  
    AllowOverride All  
</Directory>  


注意:上面紅色文字部分。在option中添加一個(gè)屬性ExecCGI



4. 修改目錄首頁(yè)文件



 在配置文件 httpd.conf 中查找 DirectoryIndex index.html 將其修改成:


	DirectoryIndex index.html index.htm index.php


DirectoryIndex 指的是當(dāng)客戶瀏覽器訪問(wèn)的路徑是一個(gè)目錄時(shí),Apache默認(rèn)執(zhí)行的文件。

以我們所修改的為例:當(dāng)客戶瀏覽器訪問(wèn)一個(gè)目錄時(shí),Apache會(huì)去找該目錄下的index.html,如果沒(méi)有再找index.htm,還沒(méi)有再找 index.php。都找不到則默認(rèn)顯示該目錄下的文件列表。參考文檔:如果防止Apache顯示文件列表



第四步:配置PHP



打開(kāi)PHP安裝目錄,即D:\WAMP\PHP,我們可以看到目錄下有兩個(gè)這樣的文件 php.ini-development 和 php.ini-production,第一個(gè)是開(kāi)發(fā)使用的配置文件,第二個(gè)是生產(chǎn)環(huán)境的配置,因?yàn)槲覀兪窃诒緳C(jī)做開(kāi)發(fā),所以選擇前者。將php.ini-development復(fù)制一份到同目錄下,并改名為 php.ini。這個(gè)php.ini 就是當(dāng)前使用的配置文件,以下幾步都是在修改這個(gè)php.ini文件的內(nèi)容。要注意的是,修改php.ini文件后需重新啟動(dòng)Apache服務(wù),新設(shè)置才會(huì)生效。



1. 指定PHP擴(kuò)展庫(kù)的存放目錄



在Windows下PHP的擴(kuò)展庫(kù)通常以 DLL 形式存放在PHP的ext目錄中。

使用文本工具打開(kāi)php.ini文件,查找extension_dir = "ext",也就是在 On windows 下面那一行。把它前面的分號(hào)“;”去除掉,改為如下:


        extension_dir = "D:/WAMP/PHP/ext"


extension_dir 表示PHP擴(kuò)展庫(kù)的具體目錄,以便調(diào)用相應(yīng)的DLL文件。



2. 開(kāi)啟相應(yīng)的擴(kuò)展庫(kù)



默認(rèn)情況下許多PHP的擴(kuò)展庫(kù)都是關(guān)閉的,比如默認(rèn)PHP不支持連接Mysql數(shù)據(jù)庫(kù),需開(kāi)啟相應(yīng)的擴(kuò)展庫(kù)。

這里我們開(kāi)啟一些常用的擴(kuò)展庫(kù)。

查找 ; Windows Extensions(大概在941行),在它的下面是extension列表。

找到如下擴(kuò)展:


        ;extension=php_curl.dll
        ;extension=php_gd2.dll
        ;extension=php_mbstring.dll
        ;extension=php_exif.dll
        ;extension=php_mysql.dll
        ;extension=php_mysqli.dll
        ;extension=php_pdo_mysql.dll
        ;extension=php_pdo_odbc.dll
        ;extension=php_sockets.dll
        ;extension=php_xmlrpc.dll
        ;extension=php_xsl.dll


把以上extension 前面的分號(hào) “;” 去掉。如果你希望加載其它擴(kuò)展模塊,方法相同,只要去掉前面的分號(hào)即可。

提示1:重啟Apache提示 “unable to load dynamic library......php_curl.dll”,加載php_curl.dll錯(cuò)誤。解決方法是拷貝 PHP 目錄下的 libeay32.dll 和 ssleay32.dll 到 windows 目錄或 windows/system32 目錄下,只要是系統(tǒng) Path 環(huán)境變量里包含的路徑就可以。如果不想拷貝,你也可以直接把 PHP 路徑放到系統(tǒng) Path 環(huán)境變量里。 右擊我的電腦=>屬性=>高級(jí)=>環(huán)境變量=>系統(tǒng)變量里有個(gè)Path,雙擊打開(kāi),把你的PHP路徑加個(gè)分號(hào)“;”再前面( ;D:\WAMP\PHP ),添加進(jìn)去就OK了。重啟Apache不再提示該錯(cuò)誤。

提示2:Exif 擴(kuò)展是用來(lái)顯示圖片的 exif 信息的,因?yàn)樵摂U(kuò)展需要 mbstring.dll 支持,所以必須將 extension=php_exif.dll 這一行寫(xiě)到extension=php_mbstring.dll 的后面。

提示3:如果PHP自帶的擴(kuò)展庫(kù)不能滿足你的需要,你可以去 pecl. 查找并下載你需要的庫(kù)。windows用戶可以去 pecl4win. 或者 http://downloads./pierre/ 下載已經(jīng)編譯好的DLL文件,也可以去http://museum./php5/ 載PECL集合壓縮包。

提示4:很多人在找php_zip.dll,其實(shí)從php5.3開(kāi)始已經(jīng)集成了zip擴(kuò)展,你可以用<?php phpinfo()  ?> 找到zip擴(kuò)展的說(shuō)明。



3. 讓PHP支持短標(biāo)簽



在 php.ini 配置文件查找 short_open_tag = Off (大概在266行)把它修改成:short_open_tag = On 讓其支持短標(biāo)簽。

php的代碼一般包含在<?php .... ?>的標(biāo)簽內(nèi),設(shè)置 short_open_tag = On 之后,可以寫(xiě)成更簡(jiǎn)潔的形式:<? .... ?>。



4. 配置PHP的Session功能



在使用session功能時(shí),我們必須配置session文件在服務(wù)器上的保存目錄。我們需要為session建立一個(gè)可讀寫(xiě)的目錄,這個(gè)目錄最好獨(dú)立于網(wǎng)站目錄之外。

這里把目錄上建在了D:\WAMP\sessiontmp,然后在 php.ini 配置文件中找 ;session.save_path = "/tmp" (大概在1467行),去掉前面的分號(hào)“;” ,改為如下:


        session.save_path = "D:/WAMP/sessiontmp"


5. 配置PHP的文件上傳功能



同session一樣,在使用PHP文件上傳功能時(shí),我們必須要指定一個(gè)臨時(shí)文件夾以完成文件上傳功能,否則文件上傳功能會(huì)失敗。

我們建立一個(gè)可讀寫(xiě)的目錄文件夾 D:\WAMP\fileuploadtmp,然后在 php.ini 配置文件中找到 ;upload_tmp_dir = (大概875行),修改為:


        upload_tmp_dir = "D:/WAMP/fileuploadtmp"


PHP默認(rèn)上傳文件大小不超過(guò)2M,要想上傳大于2M的文件,請(qǐng)參考文檔  配置php.ini實(shí)現(xiàn)文件上傳功能。



6. 設(shè)置時(shí)區(qū)



在 php.ini 配置文件查找 ;date.timezone = ,去掉前面的分號(hào)“;” 改為如下:


	date.timezone = PRC


date.timezone是PHP5.1開(kāi)始新增加的配置參數(shù),用來(lái)設(shè)置時(shí)區(qū)。默認(rèn)date.timezone是被注釋掉的,也就是默認(rèn)時(shí)區(qū)是UTC格林威治標(biāo)準(zhǔn)時(shí)間。

我們這里改為 date.timezone = PRC(PRC,People’s Republic of China,中華人民共和國(guó)),也就是日期使用中國(guó)的時(shí)區(qū)。這樣可以解決時(shí)間相差八小時(shí)的問(wèn)題。



第五步:測(cè)試



將如下代碼保存為index.php文件,放到D:\WAMP\WWW目錄下面。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www./TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www./1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>測(cè)試服務(wù)器</title>
        </head>
        <body>
            <div style="text-align:center; color:red">
            <?php
                $link=mysql_connect("localhost","你的mysql管理賬號(hào)","你的mysql管理密碼");
                if(!$link) echo "MySQL數(shù)據(jù)庫(kù) 連接失敗!";
                else echo "MySQL數(shù)據(jù)庫(kù) 連接成功!";
                mysql_close();
            ?>
            </div>
            <br/>
            <?php phpinfo(); ?>
        </body>
</html>


然后在瀏覽器地址欄輸入“http://localhost:8080/index.php”??梢钥吹浇Y(jié)果。



相關(guān)文檔:Apache虛擬主機(jī)配置    Apache下PHP的幾種工作方式    Apache以模塊方式運(yùn)行PHP



本文參考: Apache mod_fcgid and PHP on Windows



               

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多