Win2003+apache+PHP+SqlServer2008 配置

來源:互聯網
上載者:User

標籤:discuz   style   http   color   使用   os   strong   檔案   

Win2003+apache+PHP+SqlServer2008 配置

 

 
 

安裝前的準備:

  1.Apache2.2.2

  2.PHP5.2.17

  3.SqlServer2008

  4.sqlncli.msi(SqlServer用戶端,可以到微軟官方網站去下載)

5.ntwdblib.dll (2000.80.194.0)

6.SQLSRV20.exe,即MicrosoftDriver 2.0 for PHP for SQL Server(sql server 2005 及2008使用SQLSRV20.exe, SQL Server 2010使用SQLSRV30.exe)(需要其中的php_pdo_sqlsrv_52_ts_vc6.dll和php_sqlsrv_52_ts_vc6.dll);其中,52表示 php5.2,53表示php5.3,ts表示安全執行緒,nts表示非安全執行緒,vc6表示用vc6(vs2005)編譯的,vc9表示用vs2008編譯的,vc6適用於apache,vc9適用於IIS。

開始安裝:

Apache 的安裝

1 點擊apahce安裝包

 

2 接受協議

 

3 下面3項隨便填即可     apache 監聽80 連接埠.如果iis用了80連接埠,修改iis連接埠或者apache連接埠,以免衝突

(如果本機測試可以填寫127.0.0.1)

 

4 這裡預設的是 typical,建議選custom,點擊next.

 

5 這裡可用修改安裝路徑,注意安裝路徑不能含中文.

 

6 點擊install開始安裝

 

7 安裝完成後在瀏覽器裡打入  http://localhost 或者 http://127.0.0.1 如果可以看到這個頁面,證明apache安裝成功,已經可以解釋靜態頁面了

 

SQL Server 2008的安裝(略)

PHP 的安裝
由於php是一個zip檔案(非install版),安裝較為簡單 解壓就行.把解壓的 php-5.2.17-Win32 重新命名為 php5.並複製到C盤目錄下.即安裝路徑為 c:\php5 
1  找到php目錄下的 php.ini.recommended (或者php.ini-dist)檔案,重新命名為 php.ini 並複製到系統硬碟的windows目錄下(以c:\windows為例). 
2  再把php目錄下的php5ts.dll, php_mssql.dll複製到目錄 c:\windows\system32下.
3  把php5\ext目錄下的php_gd2.dll,php_mssql.dll,php_mbstring.dll檔案複製到c:\windows\system32下  如果沒有載入 php_gd2.dll  php將不能處理映像. php_mbstring.dll在後面使用phpmyadmin時支援寬字元

 

 

配置php並關聯SQL Server 2008
開啟c:\windows\php.ini檔案 1 設定擴充路徑 尋找 extension_dir 有這麼一行 extension_dir = "./" 將此行改成 extension_dir = "C:\php5\ext"  其中C:\php5是你安裝php的路徑.路徑不正確將無法載入dll  (注意:有些php版本是 ;extension_dir = "./" 要把前面的分號去掉)
2 分別尋找  ;extension=php_mbstring.dll ;extension=php_gd2.dll ;extension=php_mssql.dll 把上面3項前面的分號去掉,這樣apache啟動時就可以載入這些dll了

添加:extension=php_sqlsrv_52_ts_vc6.dll(或extension=php_pdo_sqlsrv_52_ts_vc6.dll),注意:二者只能選其一,如果兩個都添加則Apache無法啟動。

當然前面我們也把這些dll複製到system32下了.(大家在安裝的過程中都注意到如何把一些dll載入入來了.
3 設定會話儲存路徑 尋找session.save_path 有這麼一行 ;     session.save_path = "N;/path" 在此行後加入一行(注意是加入一行,不是加到後面) session.save_path = "C:\WINDOWS\Temp"  儲存到你的臨時目錄下,這裡完全可以儲存到windows臨時目錄Temp下 
4 還有比較值得注意的是 short_open_tag .有一些php版本預設是Off的. 也就是說 php不能使用短標記如 <? ?> 必須使用<?php ?> 由於短標記使用方便,並且很多程式也是用短短標記來寫,如discuz等 如果不把 short_open_tag 改成On將出現的癥狀將很難判斷是上面原因,這裡建議修改  尋找 short_open_tag = Off 改為 short_open_tag = On 
5 是否顯示錯誤 display_errors  出於安全性考慮,display_errors 有些版本也預設為 Off. 就是說在調試時,如果php代碼有誤,就只出現一個空白頁.而不會顯示出錯原因和出錯行數. 這樣調試起來將非常不便,建議根據自己需要修改 尋找 display_errors = Off           (注意不是 ; - display_errors = Off           [Security]) 改成 display_errors = On 
6 顯示NOTICE敬告提示 第五步雖然開啟了出錯提示,但出錯報告還受到 error_reporting 的控制. php5預設關閉NOTICE敬告提示,如果是在本地調試,建議開啟NOTICE敬告提示. 尋找 error_reporting  =  E_ALL 改成 error_reporting  =  7
另外提示一下,在程式中也可以通過error_reporting()控制錯誤報表輸出,具體怎麼用大家參考下手冊.
7 register_globals 出於安全性考慮它預設也是Off 當register_globals=Off的時候,下一個程式接收的時候應該用$_POST[‘user_name‘]和$_POST[‘user_pass‘])  當register_globals=On的時候,下一個程式可以直接使用$user_name和$user_pass來接受值.  建議根據自己需要修改,為了相容問題,我還是把它改成On了.
8 php5時差問題 <?php echo date("Y-m-d H:i:s");?>時間相差八小時 為什麼呢?PHP5系列版本新增了時區設定,預設為格林威治時間,與中國所在的東8區正好相差8個小時 尋找date.timezone有這麼一行 ;date.timezone = 將;去掉,改成 date.timezone = PRC  其中PRC:People‘s Republic of China 中華人民共和國, 
9 php5上傳檔案問題 a. 一般的檔案上傳,除非檔案很小.就像一個5M的檔案,很可能要超過一分鐘才能上傳完. 但在php中,預設的該頁最久執行時間為 30 秒.就是說超過30秒,該指令碼就停止執行. 這就導致出現 無法開啟網頁的情況.這時我們可以修改 max_execution_time
在php.ini裡尋找  max_execution_time 預設是30秒.改為 max_execution_time = 0  0表示沒有限制
另一種方法是可以在php程式中加入 set_time_limit(); 來設定頁面最久執行時間. set_time_limit(0);//0表示沒有限制
b. 修改 post_max_size 設定 POST 資料所允許的最大大小。此設定也影響到檔案上傳。 php預設的post_max_size 為2M.如果 POST 資料尺寸大於 post_max_size $_POST 和 $_FILES superglobals 便會為空白. 尋找 post_max_size .改為 post_max_size = 150M
c. 很多人都會改了第二步.但上傳檔案時最大仍然為 8M. 為什麼呢.我們還要改一個參數upload_max_filesize 表示所上傳的檔案的最大大小。  尋找upload_max_filesize,預設為8M改為 upload_max_filesize = 100M
另外要說明的是,post_max_size 大於 upload_max_filesize 為佳.

 

 

Apache整合PHP
1 開啟apache配置文檔,以作者的電腦為例:D:\myphp\apache2.2\conf\httpd.conf
2 修改網站根目錄 尋找DocumentRoot有這麼一行 DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs" 這就是你網站的根目錄,你可以修改,也可以用預設的.如果改,還要修改下面這項,否則可能會出現 403 錯誤 尋找  This should be changed to whatever you set DocumentRoot to 在它下面兩行有 <Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"> 把上面兩項的 C:/Program Files/Apache Group/Apache2/htdocs 改成你想要的目錄
3 尋找  DirectoryIndex index.html 修改成 DirectoryIndex index.html index.html.var index.php  這樣index.php 可以充當預設頁面了 
4 Apache中模組化安裝php 尋找 # LoadModule foo_module modules/mod_foo.so 在此行後加入一行 LoadModule php5_module C:/php5/php5apache2_2.dll
(其中C:/php5/php5apache2_2.dll是你安裝php的相應路徑. 注意不要把php5apache2_2.dll,php5apache2.dll和php5apache.dll混淆.php5apache.dll只適用於apache 版本1的. PHP5壓縮包裡的php5apache2.dll只適用於apache2.0.*版本,如果是2.2.*以上版本,必須使用php5apache2_2.dll.否則就可能會出現 "Cannot load C:/php/php5apache2.dll into server: The specified module could not be found." 或者: "The requested operation has failed" 的情況. 不過php5apache2_2.dll出來之後也就沒有多少參考價值了)
5 尋找 AddType application/x-gzip .gz .tgz 在此行後加入一行 AddType application/x-httpd-php .php  這樣apache就可以解釋php檔案了  到這裡配置基本完成了 
6 重啟apache,在網站根目錄下建立一個 phpinfo.php 檔案
<?php phpinfo(); ?> 
在瀏覽器中開啟。如果能正常看到php的資訊,則說明php已經配置好了。

 

 

1、。

2、最關鍵的一步,也就是區別於載入其它資料庫擴 展的一步,安裝sqlncli.msi(SqlServer2008用戶端),第一次配的時候,折磨了我一個星期,就是因為沒有裝用戶端,以致總是提示找不到擴充。再把ntwdblib.dll (2000.80.194.0),注意一下版本,PHP本身也有這個檔案,是老版本的,只支援SqlServer2000。

  最後重啟Apache伺服器,寫個PHP檔案,測試一下,一切OK,搞定了!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.