Apache 1.33與PHP 4.4.0配置手記

來源:互聯網
上載者:User

  最近狀態不好,就這麼一個東西,幾分鐘應該解決的問題,晚上竟然折騰了兩個小時,實在是不爽,看來有必要記錄一下,免得每次配置的時候總看那些注釋...今天實在是看差了一行..

  1) PHP配置

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  這部分是錯誤處理與日誌error_reporting

  由一些位的組合來管理記錄錯誤的類型,如果是用php.ini-disc的話,預設的選項為E_ALL & ~E_NOTICE,這一部分可以隨你的用途來設定,一般在編寫調試指令碼的時候我喜歡E_ALL,無論什麼時候,將一些警告當作錯誤處理是有好處的.

display_errors

  預設為On,表示將符合error_reporting選項的錯誤輸出到頁面中,不過在正是發布運行之後,還是將其設定為Off,這也是這個選項注釋中的一個建議.原文如下:

; Print out errors (as a part of the output).  For production web sites,
; you're strongly encouraged to turn this feature off, and use error logging
; instead (see below).  Keeping display_errors enabled on a production web site
; may reveal security information to end users, such as file paths on your Web
; server, your database schema or other information.

log_errors

  預設為Off,作用是將符合error_reporting選項的錯誤記錄到檔案中(羅嗦了點,就是記錄檔),注釋中強烈建議你開啟這個選項,將錯誤記錄到檔案,而不是輸出到頁面中.

    "you're strongly advised to use error logging in place of error displaying on production web sites."

log_errors_max_len

記錄檔的最大長度,預設為1024,0表示沒有限制..

error_log

預設是被注釋掉的,這個選項有兩個值,一種是filename,表示日誌所要記錄到的檔案;一種是syslog,表示記錄到系統的日誌中(注意:這個選項只對NT以上的系統起作用,對9x不起作用)

;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;

這一部分描述的是PHP資料處理的一些選項,有很多也與安全問題相關.

register_globals

預設為Off,這個選項的作用的討論是個古老的話題了,具體的就看個人習慣,方便是不假,但多少會對程式有些考驗.

magic_quotes_gpc

預設為On,不過我喜歡是Off,開啟會對sql injection有一定的妨礙,不過只是一定,不是徹底..具體可以見http://www.4ngel.net的相關文章.

;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;

一些路徑的設定(這裡假設你的php路徑為c:\php)

include_path

無論用或不用,我都設定成c:\php\pear,不過pear的功能還是很強大的..關於pear具體見http://pear.php.net

extension_dir

也不用多說什麼了,就設定成c:\php\extensions不會有什麼錯的.

cgi.force_redirect

預設為注釋掉,關於這個選項到底是做什麼用的,我現在也沒弄明白,不過使用apache的時候,保持預設就可以;對於IIS說明中要關閉此選項(設定為0).官方都這樣說了,照著做就可以.

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

檔案上傳相關設定

file_uploads

預設為On,表示啟用檔案上傳功能.可以根據自己的需求進行定製.

upload_tmp_dir

上傳檔案的臨時目錄,預設是注釋掉的,表示使用系統指定的臨時目錄,我喜歡自己指定一個單獨的目錄,至少得給一個寫的許可權.

upload_max_filesize

上傳檔案的大小,預設為2M.看個人的喜好了.

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

擴充,又是擴充,擴充是好東西,靈活方便.

格式為:extension=modulename.extension,例如extension=msql.dll(windows下),extension=msql.so(*nix下)

php中內建了很多的擴充,根據需要定製吧...對了,產生驗證碼有時候會需要調用gd2這個擴充,去掉前面的注釋總是沒錯的,這些擴充具體的功能請參考php手冊(http://www.php.net/docs.php).(注意:4.4.0裡面不包含gd庫,只有gd2)

;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;

模組設定
[MySQL]

大多數人都喜歡用MySQL,這裡如果需要的話,可以做下設定,但多數的情況還是取決於你的程式如何.

[Session]

Cookie和Session相關設定都在這裡了..安全問題也就不會少了,但還是一樣,取決於程式寫的如何.
session.save_path

session在伺服器中的儲存路徑,預設設定為空白.注意:如果你不建立這個目錄,PHP也不會自動建立此目錄,所以,還是咱自己動手來吧...否則總要蹦出一些警告資訊.
剩下還有些session有效時間的選項,自己看下手冊或注釋,按照自己的需要定製就可以.
到此,PHP的配置算是完成了,下面是APACHE 1.33的.

2)APACHE配置

這方面的文章說的很多,而且Apache手冊詳細到讓人懶的看的地步.這裡只說一下針對PHP需要做配置以及一些基本選項設定.這裡假設Apache和PHP的安裝路徑為C:\Apache和C:\PHP,WEB路徑為D:\wwwroot

ServerName

做為程式編寫與調試我喜歡設定為localhost

ServerRoot

Apache的安裝路徑,當然就為C:\Apache

DocumentRoot

WEB的主目錄,d:\wwwroot

ServerSignature Off
ServerTokens Prod

這兩個選項配合起來可以取消出錯時Apache顯示的banner.apache 1.33中沒有ServerTokens的注釋,不過可以在手冊中找到,詳細的解釋請參考手冊,這裡就不多說了.

下面說說針對PHP的配置:

基本上都是要添加的,找到相應位置,加進去即可.
LoadModule php4_module "c:/php/sapi/php4apache.dll"
AddModule mod_php4.c
DirectoryIndex index.php index.php3 index.htm index.html
AddType application/x-httpd-php .php
上面的配置是將PHP做為Apache的模組來運行,如果你需要以CGI的方式來運行,將上面LoadModule和AddModule去掉,在設定檔相應位置添加:
ScriptAlias /php/ "c:/php/"
Action application/x-httpd-php "/php/php.exe"

Apache的配置到此結束,之後可以用<?PHP phpinfo(); ?>來測試.
Apache是個強大的web伺服器,這裡只說到了基本的配置,對於效能的最佳化以及其他功能的,請參考其他相關文章.如有錯誤請多多指教.



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.