php2008
因為在做一個項目,項目裡面伺服器主要提供數據,但是數據多了文件就大了,比較浪費流量和時間,我們便用Gzip來處理。我在本機上是apache,伺服器上是IIS6.0,用的是php,那麼我就在這里分享一下。
IIS 的 GZIP 壓縮
1.首先備份 IIS 的配置文件, 復制C:.xml到另外的備份文件夾中. C:.xml是 IIS 的核心配置文件,該文件的完整性一但被破壞,IIS 將無法正常運行,嚴重到需要重新安裝系統.
2. 在開始菜單中啟動 Internet 信息服務(IIS)管理器,右鍵點擊「網站」屬性,打開「服務」選項卡,勾選「HTTP 壓縮」的兩個選項。「臨時目錄」和「臨時目錄最大容量」可根據需要自行設置。設置完成後點擊確定。
3. 右鍵點擊「網站」下方的 「Web服務擴展」,添加一個新的Web服務擴展,擴展名填寫為「HTTP Compression」或其他,都可以。「要求的文件」添加:c:windowssystem32inetsrvgzip.dll ,並勾選「設置擴展狀態為允許」,完成後點擊確定。
4.下面的步驟有些復雜,如果沒有確定的把握能理解,最好不要嘗試,右鍵點擊「Internet 信息服務的」「本地計算機」屬性,勾選「允許直接編輯配置資料庫」並確定。
5. 在開始菜單中運行 notepad C:.xml ,打開metabase.xml 文件,請在任何改動前再次確認該文件已經備份。
6. 用文本編輯器打開metabase.xml ,用查找功能找到「IIsCompressionScheme」,共有3處,都在一起,分別是deflate、gzip和 Parameters,deflate也是一種壓縮格式,不過性能上不如gzip。需要修改的是deflate和gzip這兩段,參數基本一樣,都要修改。
HcDynamicCompressionLevel是用來設置壓縮率,默認是0,最高是10。低壓縮級別生成稍大一些的壓縮文件,但對 CPU 和內存資源的總體影響較小。高壓縮級別通常會生成較小的壓縮文件,但會佔用較多的 CPU 時間和內存。有人說設置成9性價比最高。
HcFileExtensions是用來設置壓縮的靜態文件擴展名,默認是htm、html、txt,根據網站的自身情況添加擴展名,最基本的是js、css。添加時注意原有的換行格式。
HcScriptFileExtensions是用來設置壓縮的動態文件擴展名,默認是asp、dll和exe,根據需要自行添加擴展名,無外乎 aspx、php等。可以將這一項的默認刪除留空,這樣所有的動態響應都以壓縮方式發送。另外,還將動態壓縮 HcFileExtensions 中所有未指定的靜態文件類型,並且因此不將它們放入緩存。同樣地,必須將 HcDoDynamicCompression 設置為 true,以進行動態壓縮。
PHP Gzip
/*
*壓縮數據
*/
publicstaticfunctionob_gzip($content)//$content就是要壓縮的頁面內容,或者說餅干原料
{
if(!headers_sent()&&//如果頁面頭部信息還沒有輸出
extension_loaded("zlib")&&//而且zlib擴展已經載入到PHP中
strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip"))//而且瀏覽器說它可以接受GZIP的頁面
{
$content=gzencode($content."OK",9);//此頁已壓縮」的注釋標簽,然後用zlib提供的gzencode()函數執行級別為9的壓縮,這個參數值范圍是0-9,0表示無壓縮,9表示最大壓縮,當然壓縮程度越高越費CPU。
//然後用header()函數給瀏覽器發送一些頭部信息,告訴瀏覽器這個頁面已經用GZIP壓縮過了!
header("Content-Encoding:gzip");
header("Vary:Accept-Encoding");
header("Content-Length:".strlen($content));
}
return$content;//返回壓縮的內容,或者說把壓縮好的餅干送回工作台。
}
B. 如何在windows 2008 server r2中配置php程序
如何在windows 2008 server r2中配置php程序
一、准備工作
1、所需軟體:
MySQL資料庫:本文用MySQL-essential-5.0.45-win32.msi PHP : 本文用php-5.2.4-Win32.zip
ZendOptimizer :本文用ZendOptimizer-3.3.0-Windows-i386.exe 將上述軟體網上搜索下載後置於同一目錄中,比如:webtools(下文舉例同)
2、安裝IIS 7,簡要步驟如下:
(1)在控制面板中,選擇程序-打開關閉Windows功能;
(2)在彈出的Windows功能中選中Internet信息服務;
(3)展開-萬維網服務-應用程序開發功能,選中ISAPI擴展(重要);
(4)確定後自動安裝;
(5)在IE地址欄里輸入http://127.0.0.1(你的IP地址),即可看到IIS7的歡迎界面(圖1)
二、PHP環境部署攻略
MySQL資料庫部署
(1) 安裝MySQL資料庫
進入 X:Webtools 目錄點擊MySQL-essential-5.0.45-win32.msi開始安裝,
選擇 Custom 定製安裝,
選擇"Change"更改MySQL 安裝位置,
文件復制完畢後,進入 MySQL 設置界面,單擊 Finish(完成) ,
選擇 Detailed Configuration (詳細配置),
選擇 MySQL 運行模式,在此處,我們選擇Server Machine
選擇 MySQL 資料庫默認存儲方式-Non-Trans Only
設置最大連接數:這里我們選擇 128 - 512 之間的整數即可。
此處設置 MySQL 網路參數,Strict Mode不要選擇,
設置默認字元集:這里我們選擇了GBK模式,需要按照自己的需要選擇即可,
Windows服務模式設定
修改設定 root 用戶密碼(remote machines不要啟動)
MySQL安裝完成,
(2) 測試 MySQL資料庫。
在命令行模式下(開始-運行-CMD)輸入:
MySQL –uroot –p
按照提示輸入密碼後,如能進入 MySQL 控制台則說明 MySQL 安裝正常,否則需要檢查先前安裝步驟和相應服務是否啟動,進行重新安裝。
(3) 更改 MySQL 資料庫目錄
1)打開 cmd 命令提示符窗口,輸入命令:
net stopMySQL
停止 MySQL 服務運行;
2) 打開X:WebMySQLmy.ini
找到:
Datadir ="X:WebMySQLdata"
修改為:
Datadir ="X:Database"
3) 將 X:WebMySQLdata 目錄復制到 X: ,並重命名為X:Database;
4) 打開 cmd 命令提示符窗口,輸入命令:net startMySQL 啟動 MySQL 服務,重新測試 MySQL 是否工作正常。
5)准備 LibMySQL 動態鏈接庫
將X:WebMySQLbinlibMySQL.dll 文件復制到C:WindowsSystem32 即可。
2. PHP服務部署
(1) 解壓縮php-5.2.4-Win32.zip文件並將其復制到:X:WebPHP目錄、將 php.ini-dist 重命名為 php.ini ;
(2) 打開 php.ini 文件,找到:extension_dir= "./"
將其改為;
extension_dir= "X:WebPHPext"
(3) 找到:Windows Extensions :(去掉模塊配置每行前面的;號即可)
extension=php_mbstring.dll
extension=php_gd2.dll
extension=php_MySQL.dll
(5) 找到:
disable_functions =
改為:
disable_functions =phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,
openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
保存 php.ini 文件,並將其復制到 C:Windows 目錄。
3. IIS 7整合PHP-新建站點
(1) 啟動 IIS 管理器,選擇新建-網站,
(2) 輸入網站名稱,可任意輸入。網站IP地址不用填寫,埠如沒有特殊要求則保持 80 即可,最後正確輸入網站域名。
(3) 在網站分區中建立 wwwroot 以及下級站點目錄。
(4)給予該站點"讀取"和"運行腳本"的許可權以便PHP應用。
4. IIS整合 PHP- 使站點支持 PHP
(1) 打開剛剛建立的網站屬性,
(2) 在站點屬性窗口中,單擊"主目錄"頁簽,單擊"配置"按鈕,在新彈出的"應用程序配置"對話框中,單擊"添加"按鈕,加入 PHP 的 ISAPI 支持,選擇可執行文件:X:WebPHPphp5isapi.dll 、擴展名為 .php 、限制動作為:GET,POST 。單擊"確定"添加,並在"應用程序配置"窗口中查看 .php 擴展是否載入成功。若成功,則單擊"確定"關閉配置窗口,回到站點屬性主窗口。
(3) 單擊"文檔"頁簽,在默認內容文檔中添加 index.htm、index.html、index.php 三個文件。
(4)右鍵單擊"Web 服務擴展",添加 PHP 擴展支持。
(5) 在如下圖的"新建WEB服務擴展"對話框中,"擴展名"填寫PHP,"文件"選擇 X:WebPHPphp5isapi.dll ,並設置該PHP擴展默認為允許。
(6) 重啟 IIS 服務,
5、測試 PHP
IIS與PHP的整合已經完畢,下面需要測試 PHP 支持是否正常。
(1) 進入 X:wwwrootbbs 目錄,新建一個 phpinfo.php 文件,內容為:
<?
phpinfo();
?>
C. PHP工程師的PHP發展歷程
PHP最初是1994年Rasmus Lerdorf創建的,剛剛開始只是一個簡單的用Perl語言編寫的程序,用來統計他自己網站的訪問者。後來又用C語言重新編寫,包括可以訪問資料庫。在 1995年以Personal HomePageTools (PHP Tools) 開始對外發表第一個版本,Lerdorf寫了一些介紹此程序的文檔,並且發布了PHP1.0。在這早期的版本中,提供了訪客留言本、訪客計數器等簡單的功能。以後越來越多的網站使用了PHP,並且強烈要求增加一些特性,比如循環語句和數組變數等等,在新的成員加入開發行列之後,在1995年中, PHP2.0發布了。第二版定名為PHP/FI(Form Interpreter)。PHP/FI加入了對MySQL的支持,從此建立了PHP在動態網頁開發上的地位。到了1996年底,有15000個網站使用 PHP/FI;時間到了1997年中,使用PHP/FI的網站數字超過五萬個。而在1997年中,開始了第三版的開發計劃,開發小組加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名為PHP3。2000年,PHP4.0又問世了,其中增加了許多新的特性。
在2000年5月22日,以Zend Engine 1.0為基礎的PHP 4正式釋出,2004年7月13日則釋出了PHP 5,PHP 5則使用了第二代的Zend Engine[5]。PHP包含了許多新特色,像是強化的面向對象功能、引PDO(PHPData Objects,一個存取資料庫的延伸函數庫)、以及許多效能上的增強。目前PHP 4已經不會繼續更新,以鼓勵用戶轉移到PHP 5。
2008年PHP 5成為了PHP唯一的有在開發的PHP版本。將來的PHP 5.3將會加入Late static binding和一些其他的功能強化。PHP 6 的開發也正在進行中,主要的改進有移除register_globals、magic quotes 和 Safe mode的功能等。