2010-08-28 19:42

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 14:37

[轉載] 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指令使用哪些選項。
2010-08-23 13:52

利用 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參數詳解
2010-07-16 22:41

用 Eclipse 寫 Wiki

在 Eclipse 中的 Mylyn 內建 WikiText 這個編輯器
讓你在 Eclipse 中也可寫 Wiki 文件
這真是一件快樂的事 至少可以不用去面對那永遠對不準的 word


WikiText 提供下列五種格式的 wiki 編寫
*.textile, *.tracwiki, *.mediawiki, *.twiki, *.confluence


首先在專案中建立副檔名為 .textile 的純文字文件



寫下這簡單的 wiki 文件
h1(#id). 標題1

* 無序列表
* 無序列表
** 無序列表
** 無序列表
*** 無序列表

h2. 標題2

# 有序列表
# 有序列表
## 有序列表 jhgjhgjgjgj

h3. 標題3

p. 文字段落,文字段落,文字段落,文字段落,文字段落,文字段落,文字段落,文字段落,文字段落,文字段落,文字段落,文字段落,文字段落,文字段落,文字段落,文字段落

h4. 標題4

h4. 標題4

h5. 標題5

h3. 標題3

h6. 標題6



在[概要]中會出現文件中所有的標題,在編輯時還可以使用[折疊](天阿!一整個就太快樂了)



編輯完後在文件上按右鍵選擇[WikiText->Generate HTML]就會自動產生 html 檔



接著用 Browser 開啟剛剛生成的 html 就可以看到美美的文件了



當然也可以自訂自己想要的樣式,在[視窗->喜好設定->一般事項->編輯器->文字編輯器->WikiText]中就可以設定自己想要的樣式了



參考來源:
Getting Started With WikiText | Eclipse Zone
Help - Eclipse SDK: Mylyn WikiText User Guide
2010-07-16 18:42

[Ubuntu] PHP 連接 Oracle 語系設定

PHP 的環境變數必須在 Apache 中設定

開啟:
vim /etc/apache2/envvars

在最後面加入:
export NLS_LANG="AMERICAN_AMERICA.UTF8"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

參考來源:
如何新增apache使用的環境變數
2010-07-16 17:29

[PHP] 取得 Weather Underground 即時氣象

如果你需要即時的氣象資訊,找 Weather Underground 是一個不錯的選擇,每30分鐘更新一次,再加上提供很方便 XML 資料連結,唯一感到美中不足的就是沒有多國語言的支持。

<?php
// ?query=[觀測點名稱],例如: Taoyuan Air Base , Taipei
$xml = simplexml_load_file(
    "http://api.wunderground.com/auto/wui/geo/WXCurrentObXML/index.xml?query=RCSS"
);

// 氣象圖示
foreach ($xml->icons->children() as $icon_set) {
    if($icon_set['name']=='Contemporary'){
        echo $icon_set->icon_url;
    }    
}
/* 
圖示造型種類:
    Default
    Smiley
    Helen
    Generic
    Old School
    Cartoon
    Mobile
    Simple
    Contemporary
    Dunkin' Donuts    
*/

echo "氣象狀況:",$xml->weather,"\n";

echo "溫度:",$xml->temp_c,"°C\n";

echo "相對濕度:",$xml->relative_humidity,"\n";

echo "風向:",$xml->wind_dir,"\n";

echo "風速:",$xml->wind_mph,"MPH\n";
echo "風速:每小時",round($xml->wind_mph*1.6093),"公里\n";
echo "風速:每秒",round($xml->wind_mph*0.447028),"公尺\n";

echo "海平面氣壓:",$xml->pressure_mb,"百帕\n";

echo "高溫指數:",$xml->heat_index_c,"°C\n";

echo "風寒指數:",$xml->windchill_c,"°C\n";

echo "水凝點:",$xml->dewpoint_c,"°C\n";

echo "能見度:",$xml->visibility_km,"公里\n";

echo "觀測時間:",date(
    'Y-m-d H:i',
    strtotime($xml->observation_time_rfc822)
),"\n";

/* 
thunderstorm rain = 雷雨
showers rain = 驟雨
light showers rain = 小驟雨

Cloudy = 多雲
Flurries = 小雪
Fog = 霧
Haze = 陰霾
Mostly Cloudy = 多雲時陰
Mostly Sunny = 晴時多雲
Partly Cloudy = 局部多雲
Partly Sunny = 多雲時晴
Freezing Rain = 凍雨
Rain = 雨
Sleet = 冰雹
Snow = 雪
Sunny = 晴朗
Unknown = 未知
Overcast = 陰天
Scattered Clouds = 疏雲 
*/


參考資料:
台灣各地-氣象觀測點
API - XML - WunderWiki

PHP: simplexml_load_file - Manual
2010-07-16 16:38

[Oracle] 修改 SESSION 的日期格式

ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';

ParameterExplanation
YEARYear, spelled out
YYYY4-digit year
YYY
YY
Y
Last 3, 2, or 1 digit(s) of year.
IYY
IY
I
Last 3, 2, or 1 digit(s) of ISO year.
IYYY4-digit year based on the ISO standard
QQuarter of year (1, 2, 3, 4; JAN-MAR = 1).
MMMonth (01-12; JAN = 01).
MONAbbreviated name of month.
MONTHName of month, padded with blanks to length of 9 characters.
RMRoman numeral month (I-XII; JAN = I).
WWWeek of year (1-53) where week 1 starts on the first day of the year and continues to the seventh day of the year.
WWeek of month (1-5) where week 1 starts on the first day of the month and ends on the seventh.
IWWeek of year (1-52 or 1-53) based on the ISO standard.
DDay of week (1-7).
DAYName of day.
DDDay of month (1-31).
DDDDay of year (1-366).
DYAbbreviated name of day.
JJulian day; the number of days since January 1, 4712 BC.
HHHour of day (1-12).
HH12Hour of day (1-12).
HH24Hour of day (0-23).
MIMinute (0-59).
SSSecond (0-59).
SSSSSSeconds past midnight (0-86399).
FFFractional seconds.
2010-07-16 15:41

在 Eclipse 中使用 mylyn 連接 redmine

在連接 redmine 之前必須確認是否有 Mylyn Plugin 及 Web Template 連接器
你可以透過下面這個連結做線上安裝:
http://download.eclipse.org/tools/mylyn/update/incubator


首先開啟 Task Repositories 這個視圖,並且在視圖中按右鍵建立新的連接





這裡選擇剛剛提到的 [Web Tempate]



接著做以下的設定,如果有 Http 的驗證請記得設定
Server: [伺服器的位址]
Lable: [連線名稱]
User ID: [Redmine 的使用者帳號]
Password: [Redmine 的使用者密碼]



接著在附加設定中做以下設定,[ProjectName]則是你的專案名稱,不知道什麼話在 redmine 中個別專案上的 URL 就會看到
Task URL: [單一任務呈現的網址,Mylyn 會在後面加上任務 ID]
${serverUrl}/issues/

New task URL: [新增任務的網址]
${serverUrl}/projects/ProjectName/issues/new

Query request URL: [取得任務的網址] (GET)
${serverUrl}/projects/ProjectName/issues
只想擷取與自己有關的訊息可以使用下面這個 URL
${serverUrl}/projects/ProjectName/issues?set_filter=1&assigned_to_id=me

Query pattern: [取得任務的解析字串]
<td class="tracker">({Type}.+?)</td><td class="status">({Status}.+?)</td><td class="priority">.+?</td><td class="subject">.*?<a href=".*?/issues/({Id}\d+)">({Description}.+?)</a></td><td class="assigned_to"><a href.+?>({Owner}.+?)</a></td>

Login request URL: [登入的請求字串] (POST)
${serverUrl}/login?username=${userId}&password=${password}&authenticity_token=${loginToken}&autologin=1

Login Form URL: [登入頁面的 URL]
${serverUrl}/login

Login Token Pattern:[登入時的 token]
<input name="authenticity_token" type="hidden" value="(.+?)" />

設定好後就可以按下完成


接著開啟 Task List 這個視圖,建立新的請求



選擇剛剛建立好的連結



這裡建議可以先按下 Advanced Configuration 中的 [Preview] 察看是否可以取得資料
如果不行可以按下 [Open] 察看取回的頁面,我是遇到 redmine 登入錯誤的狀況,因為各版本的 redmine 登入方式有點不同,所以一開始我缺少 token 的設定



最後所有的任務就會出現在列表上,剩下的就請各位自行摸索一下