個人的なメモと備忘録 2005年 6月

HOME | LastUpdate: 2005-06-05

目次


2005.06.05(Sun)

PHPWalker の管理者のムトウさんから PHP の Chasen モジュールのコンパイルが成功しても、モジュール読み込み時にエラーが出るという指摘を受けましたので、少し調べてみました。その時に作成したメモを PHP 拡張モジュール(PECL)のメモChasen モジュール使用時にエラーが出る場合に追加しました。

>>PHP 5.1 関連

PHP 5.1 はまだ開発版で正式版はいつ公開される予定なのかは知りませんが、いろいろと便利な機能が追加されているようですので、メモしておきます。

*CLI 版 PHP の対話モード

あまり使っている人はいないと思いますが、CLI版(コマンドライン版) や CGI版の PHP には、対話モード(Interactive mode) が存在します。

コマンド呼び出しの際に -a を付けると使用できるのですが、非常に使いにくいです。以下のように、php -a を実行した後、PHP のコードを <?php ... ?> で囲んで入力し、最後に Ctrl-D を押すと結果が出力されます。Ctrl-C で終了です(Unix 系の場合)。

$ php -a
Interactive mode enabled

<?php $a = 1; var_dump( $a ); ?> <-- Ctrl-D で結果出力
int(1)

非常に使いにくいように感じる PHP の対話モードですが、PHP 5.1 からはかなり改善されるようです。More PHP power on the command line(ThinkPHP /dev/blog) によると、PHP 5.1 以降では、PHP のコンパイル時に --with-readline や BSD 系では、--with-libedit を付けると、プロンプトが表示され、使いやすい対話モードを使用できるようになります。PHP 5.1 のスナップショット(php5-200506040830)で確認したところ、以下のようになりました。(スナップショットは PHP Snapshots からダウンロードできます)。

$ php-5.1-dev -a
Interactive mode enabled

php > $a = 1;
php > var_dump( $a );
int(1)
php > exit

また、TAB キーによる関数の入力補完機能もありますので、便利です。PHP 4.3.x や PHP 5.0.x でも使えるようにして欲しい機能です。

*session_regenerate_id() の実装が改善

session_regenerate_id() は PHP 4.3.2 から導入された、セッション ID を変更する際に使用する関数ですが、session_regenerate_id() Improvement(iBlog - Ilia Alshanetsky) によると、PHP 5.1 からは引数のオプションで強制的に削除することができるようになったそうです。

PHP-users メーリングリストで session_regenerate_id() でセッション ID を変更した時に、一つ前のセッションファイルを削除しないという実装が問題になったことがありましたが、これで望ましい実装になったように思われます。PHP 4.3.x や PHP 5.0.x にバックポートされるかどうかは分かりません。

以下のように session_regenerate_id() を呼び出すときに引数に TRUE を入れて呼び出すだけのようです。PHP 5.1 のスナップショット版(php5-200506040830)で確認しました(PHP Snapshots)。

session_regenerate_id( TRUE );

>>セキュリティ関係

*その他

>>気になったニュース、ツールなど

▲ 目次へ戻る


更新履歴

2005.06.05

このページを作成。2005年 6月 5日分を追加。

▲ 目次へ戻る

LastUpdate: 2005-06-05 | HOME