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