2010-08-28

Eclipse + PHPEclipse + Aptana 安裝

要安裝 Eclipse 說實在的還需要一點經驗
首先 Eclipse 是 Base 在 Java 上的應用程式,所以先到 Java.com 去下載 Java Runtime Environment。
再來到 Eclipse Downloads 去下載 Eclipse 主程式。


這裡我還是用我熟悉 3.5 版本 Eclipse Galileo 做範例,既然 Web 開發那就直接下載 Eclipse for PHP Developers 這個有封裝 PDT 的 Package
Downloda : eclipse-php-galileo-win32.zip



再來我們先來去找中文語言包 Eclipse Babel Project Downloads
Downloda :
BabelLanguagePack-eclipse-zh_TW_3.5.0.v20100814074441.zip
BabelLanguagePack-tools.mylyn-zh_TW_3.5.0.v20100814074441.zip
BabelLanguagePack-tools.pdt-zh_TW_3.5.0.v20100814074441.zip
BabelLanguagePack-tptp.platform-zh_TW_3.5.0.v20100814074441.zip
BabelLanguagePack-rt.equinox-zh_TW_3.5.0.v20100814074441.zip

下載好後將全部解壓縮就可以了,然後執行 eclipse.exe



先來安裝 PHPEclipse,進入 -> 說明 -> Install New Software
在 Work with 貼上 PHPEclipse 的線上安裝路徑,然後按下 Enter,選項出現後選擇 PHPEclipse,下一步 下一步 同意 完成 (因為是線上安裝,所以會有點久)
http://phpeclipse.sourceforge.net/update/stable/1.2.x/



再來安裝 Aptana,進入 -> 說明 -> Install New Software
在 Work with 貼上 Aptana 的線上安裝路徑,然後按下 Enter,選項出現後選擇 Aptana Studio,下一步 下一步 同意 完成
http://download.aptana.com/tools/studio/plugin/install/studio



最後來安裝我常用的套件
  • Database Developers:可以撰寫 SQL script 跟連接 Database
  • Subversive:用來連接 SVN 的 Client 套件
  • RSE:可以連接 SSH 跟 SFTP 的遠端連接套件

進入 -> 說明 -> Install New Software
在 Work with 的選項中選擇 Galileo - http://download.eclipse.org/releases/galileo,然後按下 Enter,然後就會出現一堆官方套件選擇
  • Data Tools Platform Enablement Extender SDK
  • Data Tools Platform Extender SDK
  • Subversive SVN Integration for the Mylyn Project
  • Subversive SVN Team Provider
  • Remote System Explorer End-User Runtime
  • Remote System Explorer User Actions

一樣 下一步 下一步 同意 完成

重開之後會跳出 Subversive 的選項,OS 是 Windows 的話選擇下面的選項:
  • JavaHL 1.5.4 Win32 Binaries
  • JavaHL 1.6.0 Win32 Binaries
  • Native JavaHL 1.5 Implementation
  • Native JavaHL 1.6 Implementation
  • Subversive SVN Connectors



因為額外多裝了一些官方套件,順便來去下載語言包
BabelLanguagePack-datatools-zh_TW_3.5.0.v20100814074441.zip
BabelLanguagePack-technology.subversive-zh_TW_3.5.0.v20100814074441.zip



最後最後中肯的建議,別在單一一個 Eclipse 上加太多套件,不然 Eclipse 會變成吃效能的怪物,最好依工作性質分成幾個不同類型的開發環境。
2010-08-23

[轉載] Apache之AllowOverride參數詳解

轉載自: Apache之AllowOverride參數詳解
日期:2008-06-20 作者:喜騰小二 來源:PHPChina

通常利用Apache的rewrite模組對 URL 進行重寫的時候, rewrite規則會寫在 .htaccess 檔案裡。但要使 apache 能夠正常的讀取.htaccess 檔案的內容,就必須對.htaccess 所在目錄進行配置。從安全性考慮,根目錄的AllowOverride內容一般都配置成不允許任何Override ,即
<Directory /myblogroot/>
    AllowOverride None
</Directory>

在 AllowOverride 設定為 None 時, .htaccess 檔案將被完全略過。當此指令設定為 All 時,所有俱有 “.htaccess” 作用域的指令都允許出現在 .htaccess 檔案中。

而對於 URL rewrite 來說,至少需要把目錄設定為
<Directory /myblogroot/>
    AllowOverride FileInfo
</Directory>

AllowOverride的參數
AuthConfig
允許使用與認證授權相關的指令(AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require, 等)。
FileInfo
允許使用控制文檔類型的指令(DefaultType, ErrorDocument, ForceType, LanguagePriority, SetHandler, SetInputFilter, SetOutputFilter, mod_mime中的 Add* 和 Remove* 指令等等)、控制文檔元資料的指令(Header, RequestHeader, SetEnvIf, SetEnvIfNoCase, BrowserMatch, CookieExpires, CookieDomain, CookieStyle, CookieTracking, CookieName)、mod_rewrite中的指令(RewriteEngine, RewriteOptions, RewriteBase, RewriteCond, RewriteRule)和mod_actions中的Action指令。
Indexes
允許使用控制目錄索引的指令(AddDescription, AddIcon, AddIconByEncoding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName, 等)。
Limit
允許使用控制主機訪問的指令(Allow, Deny, Order)。
Options[=Option,...]
允許使用控制指定目錄功能的指令(Options和XBitHack)。可以在等號後麵附加一個逗號分隔的(無空格的)Options選項清單,用來控制允許Options指令使用哪些選項。

利用 Apache .htaccess 修改 PHP 系統設定

RewriteEngine on
RewriteRule ^.*$ index.php #將所有請求轉至 index.php

#除特定檔案的請求以外的轉至 index.php
#RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php 

php_flag register_globals off #將傳入參數註冊為全域變數
php_flag magic_quotes_gpc off #對特殊字元加上的反斜線
php_flag display_error off    #在網頁上顯示錯誤訊息
php_flag output_buffering on  #開啟輸出緩衝
php_flag log_error on         #紀錄錯誤訊息
php_flag allow_url_fopen off  #fopen 可開啟遠端網頁
php_flag expose_php off       #顯示PHP 版本資訊
php_flag safe_mode on         #安全模式

php_value include_path "/path/to/lib" #自訂函數庫的位址


參考網址:
php_flag + php_value + Apache 在不更改 php.ini 的情況下更改預設值
Apache之AllowOverride參數詳解