Win2003+apache+PHP+SqlServer2008 配置


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,搞定了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM