Eclipse起動時にエラー

■環境
 Windows xp
 Eclipse 3.2
 PDTやらAptanaのプラグインを導入済み
■現象
 1)PHP系のプラグインを使用しているワークスペースの起動時に以下のようなエラーメッセージが出て起動しない。
   An error has occurred. See the log file [ログファイルのパス]
   ログファイルの内容は以下の通り
!SESSION Tue Sep 29 14:04:55 JST 2009 ——————————————
!ENTRY org.eclipse.equinox.launcher 4 0 2009-09-29 14:04:55.359
!MESSAGE Exception launching the Eclipse Platform:
!STACK
java.lang.NullPointerException
at org.eclipse.osgi.internal.resolver.StateReader.readBundleDescriptionLazyData(StateReader.java:246)
at org.eclipse.osgi.internal.resolver.StateReader.fullyLoad(StateReader.java:681)
at org.eclipse.osgi.internal.resolver.BundleDescriptionImpl.fullyLoad(BundleDescriptionImpl.java:487)
at org.eclipse.osgi.internal.resolver.BundleDescriptionImpl.getExportPackages(BundleDescriptionImpl.java:123)
at org.eclipse.osgi.internal.resolver.StateHelperImpl.getExportedPackageMap(StateHelperImpl.java:73)
at org.eclipse.osgi.internal.resolver.StateHelperImpl.getUnsatisfiedLeaves(StateHelperImpl.java:108)
at org.eclipse.osgi.internal.resolver.StateHelperImpl.getUnsatisfiedLeaves(StateHelperImpl.java:153)
at org.eclipse.core.runtime.adaptor.EclipseStarter.logUnresolvedBundles(EclipseStarter.java:463)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:189)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
 2)以下のディレクトリの中身を削除すると起動するようになる。
   が、全ての設定がクリアされる。
   [ワークスペースへのパス]\.metadata\.plugins
 3)PHP系のプラグインを使用していない(javaでの開発用途)ワークスペース起動時には同様のエラーは発生しない
 4)以上のことからPHP系のプラグインの仕業と思われる。
対処法も色々考えてみたが、Eclipseのバージョンも3.5に上がっていることだし・・・
これを期に再インストール(バージョンアップ)で解決することにした。
めんどいけど・・・。

さくらインターネット Zend Frameworkの導入 .htaccessの設定でつまづく

さくらインターネットにZend Frameworkを導入したときのメモ
1.Zend Frameworkの入手
$ pwd
/home/ユーザ名
$ mkdir lib
$ cd lib
$ wget http://framework.zend.com/releases/ZendFramework-1.9.2/ZendFramework-1.9.2.tar.gz
2.Zend Frameworkの配置と展開
$ tar xvfz ZendFramework-1.9.2.tar.gz
3.php.iniの設定
さくらインターネットサーバコントロールパネル>[サーバツールの設定]>[PHP設定の編集]
include_path = “/home/ユーザ名/lib/ZendFramework-1.9.2/library”
4.動作確認
$ mkdir $HOME/www/test
$ vi $HOME/www/test/index.php
< ?php
require_once 'Zend/Date.php';
$date = new Zend_Date();
echo $date->get(Zend_Date::RFC_2822);
5..htaccessの設定
  存在しないリクエストは全てindex.phpに処理させる。
$ cd $HOME/www/test
$ vi .htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php [L,QSA]
6..htaccessの動作確認
$ vi test.html
てすとです。
 ブラウザで以下を確認
 1)http://ドメイン/test/
   →index.phpが表示されること
 2)http://ドメイン/test/aaa.html ※)存在しないURL
   →index.phpが表示されること
 3)http://ドメイン/test/test.html
   →test.htmlが表示されること

PHP -Zend Debuggerの導入

1.Zend Debuggerの入手
  http://downloads.zend.com/pdt/server-debugger/
   →winの場合はZendDebugger-5.2.15-cygwin_nt-i386.zip
2.展開したディレクトリ内の、PHPのバージョンにあったDLLを適当な場所にコピーする。
   →筆者の場合は取りあえず動けばいいので%PHP_HOME%にそのままコピった。
3.php.iniに以下を追記
  zend_extension_ts=”[2でコピったディレクトリ]\ZendDebugger.dll”
  zend_debugger.allow_hosts=127.0.0.1/32
  zend_debugger.expose_remotely=always
4.Apacheの再起動
5.phpinfo関数で確認
   →Zend Debuggerの項目が増えていたらOK
eclipseでどうやって使うかはこれから検証。
■参考
http://www.zend.co.jp/tech/index.php?%B4%C4%B6%AD%B9%BD%C3%DB%2F%A5%C7%A5%D0%A5%C3%A5%B0%B4%C4%B6%AD%A4%CE%BA%EE%C0%AE

“PHP -Zend Debuggerの導入”の続きを読む

Loggingの定番log4jのPHP版、log4phpについて

PHPのLoggingについて調べてたらlog4phpなるものを発見した。
筆者は仕事ではJavaを多く使っているのでlog4jの扱いは若干慣れたものである。
んでまぁ、log4jっぽいのなら安心して使える。使うんべ。
ってな感じで早速本家サイトに行ってみたところ・・・
Products
 :
 * log4j
 :
Incubations
* log4php
Productsしてないらしい。
英文は苦手な筆者であるが、これは正式リリースしてないんじゃないか?
と思って色々読んでたら案の定「まだリリースしてないよ」って書いてあった。
log4php0.9について解説しているサイトは見かけたのだが、そもそもver1になっていない時点で正式版では無い訳で・・・。
普通ver1が正式リリースの初版ですよね?間違ってないですよね?
0.9まではダウンロード可能だったんかな。
まぁ正式版でない時点で筆者の選択肢からは除去である。
趣味サイトで使ってみる分にはいいと思うけどさー。
Apacheやlog4jとlog4phpはまだ同列ではないのだ。
もし商用サイトで使っている会社があったりしたら・・・
プロ意識に欠けているといわざるを得ない。
まぁapacheプロジェクトはBSDライセンスだから、自力でバグ修正するってんなら頑張れ。
てかライセンスを確認しないで「あるから使っちゃえ」ぐらいな軽い気持ちで実装している会社が多いと思うのは気のせいだろうか。
こんなんだからIT業界の社会的地位がいつまで立ってもあがらんのです。
欠陥住宅・・・欠陥システムばっかじゃないか。
数年前に@ITで、ソフトウェア開発は認可制にするべきという議論があった。
製造・テスト・保守までとは言わない。
設計に関して言えば、筆者は認可制に大賛成である。
つぶれる会社がたくさんある?
もはやITは社会のインフラである。
んな認可もされないような会社はつぶれてしまえ。
土方とPG・SEは若けりゃいいなんて言われてる現状。
少しでも良いからエンジニアの地位向上に協力出来たら良いと思う。