移転しました。
2013年2月〜
http://kanonji.info/blog/

2008年11月〜2013年1月
http://d.hatena.ne.jp/kanonji/

はてなダイアリーに移転してたけど、そっからさらにWordPressでのブログに移転しました。
 
201302061607
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
別窓 | スポンサー広告
----------
Eclipse Foundation公式のPHP開発用プラグイン「PDT 1.0」(Eclipse PHP Development Tools)がリリース。だけど起動時にエラー

eclipse3.4 (PDT2.0)での関連エントリ。
eclipse.iniでJVMを指定してメモリ関係(ヒープ)のエラーを回避する。ロケールを変更してhtmlエディタのバグを回避する。 - kanonjiの日記


PDT Project

eclipseを開発するEclipse FoundationからPHP開発用プラグイン「PDT 1.0」(Eclipse PHP Development Tools)がリリース。

18th of September, 2007 - PDT 1.0 Release

早速下記ページから、PDTをダウンロードしてみた。
1.0 Release Build: R20070917

既存のeclipseに入れたりするのは面倒だったので、下記PDT All-in-Oneをダウンロード。
pdt-all-in-one-1.0-R20070917-win32.zip

ZIPを解凍し実行してみるが、下記のようなエラーが出てしまう。
JVM terminated. Exit code=-1
以下省略


※PDTのエラーではなくeclipse3.3のエラーっぽい。

検索してみると以下のページを発見。
日記/2007-06-01 - Saisse's Wiki

メモリ関連のトラブルらしく、eclipse.iniにあるメモリ関連の設定値を削除するとエラーは出なくなった。

・変更前
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Xms40m
-Xmx256m


・変更後
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m


・各オプションの説明
-vmargs:JVMのオプションが指定できるようになる。下記Xms・XmxはJVMのオプションなので、先にvmargsを指定する必要がある。
-Xms:起動時のヒープサイズを設定する。
-Xmx:ヒープサイズの最大値を設定する。Xmsの設定で不足したら、この設定まで領域を確保していく。


ちなみに、どうしてもこのオプションの意味だけはわからなかった。
--launcher.XXMaxPermSize

下記ページに一応説明が書いてあったが、Solaris編だし解説も意味がわからなかった。
Java 2 SDK 開発ガイド (Solaris 編)

-XXMaxPermSize=64m 恒久的な世代のサイズ

GC関連じゃないかとなんとなく思っているが、なんともいえない。

ただ、チューチューマウスというソフトウェアとの相性が悪いとも書いてあり、下記でもAltIMEというソフトとの相性問題が書かれている。
ただぶろぐ - eclipse3.3 起動エラー

しかし、上記エントリに習って常駐ソフトを順次終了させてみたが改善せず。
もしかしたらサービスのほうに何か相性の悪いものがあるのかもしれない。

また、エラーメッセージがすごく似ているが、下記の場合は複数バージョンのJRE(or JDK)がインストールされていて、どれを使っていいかわからない状態らしい。
JVM terminated. Exit code=1
以下省略


こっちが今回のメモリ関連のエラーメッセージ。
JVM terminated. Exit code=-1
以下省略


「1」か「-1」かの違いなので混同しやすい。

eclipseの場合、インストールディレクトリ(※configurationフォルダとかfeaturesフォルダが入っているフォルダ)にjreというフォルダを作って、eclipse起動に使いたいjreを入れておくとそれを使ってくれる。

JRE1.5 Update11を使いたい場合は、以下のようにする。

C:\Program Files\Java\jre1.5.0_11フォルダをeclipseインストールフォルダにコピー。
eclipseインストールフォルダ\jre1.5.0_11をjreにリネームして、下記のようにする。

eclipseインストールフォルダ\jre
スポンサーサイト
別窓 | 開発環境 | コメント:1 | トラックバック:0
200709270054
Windows用ポータブルwebサーバ Apache Mobile
Blackdot.be :: Run Apache From USB

USBに入れて持ち歩けるApache。
スペックは以下の通り。

Features:

* Management Application
* Apache 2.2.x
o mod_deflate
o mod_ssl
* mod_security
* mod_perl
* PHP 5.1.2
* Perl 5.8

Requirements:

* Windows 2000, Windows XP or Windows 2003
* 256mb USB-key



PHPやPerlが組み込まれている上に、サイトには書いてないがSSLとwebDAVも組み込まれている。
256MBの容量があるUSBフラッシュメモリ等に入れておけば、Windows2000以上のPCがあれば直ぐにwebサーバが立ち上がる。
webアプリのデモやプレゼン、簡易の開発環境として使えそうという紹介をちらほら見かける。

PHPのちょっとしたツールの開発に使ってみたが、自分のWindowsマシンにApache入れてPHP入れてとしなくても良かったので確かに便利だった。
ただ、WindowsのPHPだからなのか、それともApache Mobileという特殊環境だからなのか、PHPの挙動が少しおかしい点があった。

変な挙動1:exec, system, shell_exec等を使う場合のファイルパスのあたり

Windowsサーバでexecコマンドなどを使う場合、シェルはDOSコマンドになる。
DOSコマンドでスペースを含むファイルパスを記述する場合、以下のように「"」で囲む必要がある。

"C:\Document and Settings"

逆に半角スペースを含まないファイルパスの場合「"」で囲っても囲まなくても問題は無い。

"C:\Windows"
C:\Windows

execコマンドで実行したいexeや引数としてファイルパスを渡す場合に半角スペースを含むならば、上記のように「"」で囲まなければならない。

おかしい挙動はここからだが、なぜか「"」で囲む必要が無い場合に囲むとうまくコマンドが実行されないといった動きがある。
具体例を挙げると以下のようになる。

下記からexec($cmd), system($cmd), shell_exec($cmd)などを実行する。

NGな例
$cmd = '"C:\example.exe" -a';
$cmd = 'C:\example.exe -a "D:\folder\example.txt"';
$cmd = 'C:\Program files\example.exe -a';
$cmd = 'C:\example.exe -a D:\My folder\example.txt';

OKな例
$cmd = 'C:\example.exe -a';
$cmd = 'C:\example.exe -a D:\folder\example.txt';
$cmd = '"C:\Program files\example.exe" -a';
$cmd = 'C:\example.exe -a "D:\My folder\example.txt"';

ファイルパスに半角スペースが必ず含まれる・含まれないと分かっている場合は回避できるが、実行毎に変わる場合に非常に困ることになる。

変な挙動2:\3を消すpreg_replace

これもファイルパスだが、文字列としてファイルパスをpreg_replaceしたときに起こった。
例えば以下のような文字列を置換対象(subject)としてpreg_replaceすると、\3が消えてしまう。
もちろん、\3の部分は置換とは無関係でも。

"c:\example\3test.jpg"

具体例で説明すると以下のようになる。

$pattern = '/\.jpg/';
$replacement = '.gif';
$sucject = 'c:\example\3test.jpg';
$result = preg_relace($pattern, $replacement, $sucject);
echo $sucject;
echo $result;

"c:\example\3test.jpg"
"c:\exampletest.gif"


とりあえずは上記2つの挙動を除けば、一応普通に使えている。
上記2つの挙動がApache Mobile固有なのか、Windows上のApache+PHPだからなのかは、あまり検証していないので分からない。
別窓 | 開発環境 | コメント:0 | トラックバック:0
200704140851
eclipseの設定
[3.1.2]eclipse+[1.0.3]aio-WST+[1.0.1a]TruStudio+[0.2.7]aptana

とりあえず気になったところだけ。

General->Editor->Text file encoding:Other: EUC-JP(or UTF-8)
New text file line delimiter:Other: Unix(LF)

文字コード設定は一応設定できるが、不便なことにすべてのケースに適用されない。
HTMLやCSSなど、そのファイルに文字コードを定義できる場合、そのファイルに定義された文字コードが使用される。
もし、Smartyなどテンプレート化してありheaderタグを持たないようなHTMLファイルがあれば、なぜかMS932(Shift-JIS)に設定される。
気をつけないと、いつの間にかマルチバイト部分が文字化けしていることがある。
回避方法は、そういったファイルを一つ一つ、プロパティ開いて正しい文字コードを設定していく。

Aptana->Browsers/User Agents:とりあえず全部チェックしておいて損はない
Aptana->Editors:Formatting:Insert spaces insted of tabs:タブは微妙なのでチェック
Aptana->Editors->HTML Editor:Automatically insert the equals sign:on
Aptana->Editors->HTML Editor:Default extension for new HTML files:.html

PHP->Code analyzers: Compiler compliance level:PHP5( or PHP4)
PHP->Editor:Typing:Select options for automatic text modifications:Insert spaces for tab:こっちもチェック
別窓 | 開発環境 | コメント:0 | トラックバック:0
200702211549
[eclipse][Aptana] JavaScript debugging supportの設定(with Firefox 1.5+)
PHP開発用のeclipseに、HTML+CSS+Javascript、つまりWebサイト製作用の環境としてAptanaを入れてあった。
まだバージョンが0.xであるAptanaはアップデートの頻度が多く、しばらく起動してなかった事もありアップデートを促すダイアログが表示された。

アップロードしeclipseを再起動すると下記のようなお知らせダイアログが表示された。

aptanadialog



Notification
Aptana requires Firefox 1.5+ for JavaScript debugging support.

Firefox could not be found at the default locations on this computer.

If you wish to debug JavaScript, please create a debug configuration with the correct Firefox path or download it from http://www.getfirefox.com/



Firefoxは常に使っているしバージョン1.5系では最新のものになっている。
インストール先はCドライブではなく別ドライブにしているので、探し出せなかったようだ。
Javascriptのデバッグ機能を使いたいなら、Firefoxへの正しいパスを設定すべしと、書いてあるようだが設定方法がさっぱり分からない。
Preferenceを確認してみてもその様な項目は見当たらなかった。

webで色々と検索してみたところ、Aptanaのフォーラムにて似たような件の質問と回答が見つかった。
どうやらデバッグ関連は別に設定する場所があるようだ。

AptanaのJavaScriptデバッグ機能を使用するためのFirefoxのパスを設定する方法
リンク先2件目の書き込みの2個目のリンクが、実際の設定方法が書かれた説明ページのようだ。
実はまだ試していないのでちゃんと設定できるかは確認していない。
別窓 | 開発環境 | コメント:1 | トラックバック:0
200611272210
[eclipse][WTP]All-in-oneパッケージがあった
以前eclipseのWTP(Web Tools Platform)がうまくeclipseに入らなくて、統合したやつとか無いのかとか書いてたら、実は普通にあった。

WTPには、以前書いたとおり3種類のパッケージ群をまとめたもので、内2つはJAVA関連で1つはWEB開発に全般的に使えるプラグインがまとめられている。

All-in-oneパッケージでは上記3つがeclipseに予め入っている。
その為JAVA開発以外では余計なものまで入ってしまうが、インストールできないよりはまし。
All-in-oneパッケージを基本に必要なプラグインを集めていくことに決定。

WTPには現状で2種類のバージョンがある。
All-in-oneパッケージでは1.5系(eclipse3.2系)と1.0系(eclipse3.1系)となっているようで、恐らく既存のeclipseにインストールするにもバージョンを合わせる必要があるかもしれない。
別窓 | 開発環境 | コメント:0 | トラックバック:0
200610240221
Multiple Explorers
カテゴリはツールと迷ったけど一応こっちに。

Multiple Explorersは古いIE(3.0、4.0、5.01、5.5)をインストールすること無しに動作できるようにしたもの。
Webサイト製作で表示の確認をするのに非常に便利。
3.0とか4.0はもう切り捨てても良い気がするけど、IE5.0とかIE5.5はまだまだ対応が必要だと思うし、その為に仮想マシンやら別PCを用意するのは割りとしんどい。
これがあればそんなことをしなくても大丈夫というやつ。

またこれとは別に新しい方に対応する裏技とかもあるみたい。
Internet Explorer 7 Beta 3 をインストールなしで起動する方法という情報があったみたいだけど、なぜか今はBlogの全エントリーが削除されている様子。
IE7Beta3での手法はいくつかのBlogで紹介されていたけど、詳しい内容についてはみんな上記エントリへリンクを張っていた状態だったので、そのリンク先が消滅しているのは厳しい。

http://mook.jpn.org/archives/2006/08/ie7beta3.html

Internet Explorer 7 Beta 3 in standalone mode(IE7) | TredoSoftのパッチを使えばいいらしいという、断片情報があったので一応メモメモ。
なお、お気に入り、フィード、検索ボックス、およびメニューツールバーは動作しないとのこと。
別窓 | 開発環境 | コメント:0 | トラックバック:0
200609200601
| プログラマのチラシの裏 | NEXT
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。