Hatena::ブログ(Diary)

jiroの日記 このページをアンテナに追加 RSSフィード

2004-06-21

2003-12-04

[]flockについて

php意外についてもいえると思うのだけれどもファイルに書き込みするとき

flockで排他制御を行っても、同時にアクセスされてファイルが壊れる場合がある。

テストを行ってが同時に20アクセスほど行うと、場合にも夜がかなりの割合で

ファイルが壊れてしまうことがわかった。

JAVAなどは共有メモリなどに蓄えて排他制御を行えるがPHPはプロセスが

全て異なるために、共有メモリを用いた排他制御が行えない。

未確認だけれども、phpのコンパイルオプションで

--enable-sysvmsg

を指定することでセマフォが使えるようになる。セマフォを使えば

セマフォおよび共有メモリ関数が使えるようになるので、排他制御が行えるだろう。

全部うそ.コメントに書いてあるようにf+でfopenすれば問題ないことがわかった.

2003-09-22

[][]Gallery

Gallery

自分が使っているわけではないけどずいぶんと友人が気に入っているので紹介。

いわゆるギャラリーwそのまんま

つかいやすいというか、見やすい。(つかってないからわからない)

2003-09-20

[]PHPDocumentor

以前コメントにあったPHPDocumentorを早速ためしてみた。

PHPDocumentorはjavadocなどと同様にプログラムソースのコメントからプログラムのドキュメントを

作成するプログラムで、Pearにもある。プログラムと別にドキュメントを書かないでよい分楽できる。

実際に使ってみた結果、結構まともに表示されるが、デザインで気に食わないところもあるし、日本語も化ける。Webブラウザで文字コードを指定すれば読むことはできる。

その点はまだオプションでいろいろ改善できそう。まだ、詳しく見てないのでなんとも言えない。

しかし出来栄えはかなりよい。では使い方を

まずpearからインストールする。

# pear install PhpDocumentor

とすることで勝手にインストールしてくれる。便利なpear。

現在2003年9月20日現在のバージョンは1.2.2.1。

インストールが無事終わったら/usr/local/bin/phpdocが出来上がっていて

それが実行ファイル。しかし、実行しようとしてもbad interpreterといわれてしまうので

phpdocを開いて1行目を書き換えようとするが、正しいパスを指してる。

しかたないので、/usr/local/lib/php/PhpDocumentor/phpDocumentor/phpdoc.incを実行する。

何故か改行コードが間違ってる模様。nkf -Luで改行コードを直す。

/usr/local/binにパスを通して

$ php /usr/local/lib/php/PhpDocumentor/phpDocumentor/phpdoc.inc -h

$ phpdoc -h

でヘルプ表示。簡単な使い方は

$ php /usr/local/lib/php/PhpDocumentor/phpDocumentor/phpdoc.ind -d ソースディレクトリ -t html吐き出しディレクトリ

$ phpdoc -d source_directory -t target_directory

で、作成できる。詳しいことがわかり次第追加する。

[]PHPDocumentor文字化け対策

PHPDocumentor内で日本語を使うとWEBにしたときに文字エンコードが正しく指定されていないので

文字化けしてしまう不具合が存在します。この問題を解消するために修正スクリプトを

用意しました。バージョンが新しくなると使えなくなる可能性があります。

現在のPHPDocumentorのバージョン1.2.2.1で動作確認しました。

このバージョンではmakedoc、phpdocにスクリプトの改行コードが間違ってるバグがあり

以下を参考にして、修正してください。

PHPDocumentor

スクリプトは以下からDLできます。

Download file

このスクリプトの使い方はrootになり

# ./PHPDoc_Ch.sh target_directory to_code

とタイプします。うちの環境(PHP 4.3.3 , PHPDocumentor 1.2.2.1)では

# ./PHPDoc_Ch.sh /usr/local/lib/php/data/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/ Shift_JIS

環境によって引数は変わります。

尚、このスクリプトを用いて生じたいかなる責任も負いませんので自己責任でどうぞ。

2003-09-19

[]PHPDoc

PHPDoc - APIドキュメントの自動生成

なんか仕事の引継ぎのときに楽そうだ。

使ってみよう。