PHP-5.2.7でデグレ、インストールは非推奨

だそうです。

PHP 5.2.7
Due to unfortunate regressions installing 5.2.7 is highly discouraged

For those who already have installed 5.2.7 can workaround the MQ bug by setting “filter.default_flags=0″ in php.ini

A new release fixing this regression is expected shortly

つまり、わかりにくいですがmagic_quotes_gpcが壊れているとのこと。驚いて探したところここで言及されていました。使ってなければいいんですが、修正はコミットされているので近いうちに5.2.8が出るでしょう。

UPDATE:出てました。

Popularity: 1% [?]

ラニア様チャンネル

我が家では、会ったこともない人間にいちいち「様」をつけて呼ぶなと教育している。特に長男がテレビの影響で「愛子様」とか口にするたびに怒られている。自分より上の人間に対する敬称である「様」という言葉を、会ったこともなければこれといって借りも恩もない人間に無条件につけられるのであれば、おまえは無条件にその相手より下の人間であるということになり、つまり人間にはこれといった理由もなく上下があることを認めることになる。そんなことは許さんというわけである。

しかし王妃ラニアは別である。

そしてYouTubeのラニア様チャンネルが出来たようだ(うやうやしくクリック)。

俺は自分を左寄りだと考えてきたが、いつかヨルダンに行ってガチガチの王党派になることを決めた。ヨルダンの宮城に万歳三唱、みんなも彼女のサラート仲間になろう。

Popularity: 1% [?]

PHP-5.2.7リリース

されました。このサーバでも更新しました。

Popularity: 1% [?]

procmailでerror_log関数がちゃんと動かなくなる怪

procmailrcなどを使って受信したメールをPHPのプログラムに渡すところで、ちょっと妙なことに気づいた。PHPのプログラムからどこかのファイルに文字列を出力しようとすると、error_log関数の動作がいつもと違う。

//$dataに何か文字列が入っている。

$fp = fopen("../logdir/logfile", 'w');
fputs($fp, $data);
fclose($fp); // <- 問題なし

error_log($data, 3, "../logdir/logfile"); // <- 動作せず

error_log($data, 3, "/full/path/to/logdir/logfile"); <- 問題なし

touch("../logdir/logfile2"); <- 問題なし

fopenした場合は相対パスで問題ない(getcwd関数で確認したパス情報でも問題はない)。error_log関数を使ったときだけ問題が起きるのだ。念のためログファイルやそこに至るまでのディレクトリの権限や所有者を確認したが、問題になりそうなところはない。

error_log関数はPHP-5.2.6ではこのようになっている。

PHPAPI int _php_error_log(int opt_err, char *message, char *opt, char *headers TSRMLS_DC)
{
    php_stream *stream = NULL;

    switch (opt_err) {

        /*****case 1, 2は関係ないので省略*****/

        case 3:     /*save to a file */
            stream = php_stream_open_wrapper(opt, "a", IGNORE_URL_WIN | ENFORCE_SAFE_MODE | REPORT_ERRORS, NULL);
            if (!stream)
                return FAILURE;
            php_stream_write(stream, message, strlen(message));
            php_stream_close(stream);
            break;

        default:
            php_log_err(message TSRMLS_CC);
            break;
    }
    return SUCCESS;
}

実に単純なのだが、相対パスではちゃんと動作しない。しかも、procmailrcから起動したときだけ動かない。

仕事中なのであとで調べる。

Popularity: 1% [?]