[PHP-users 12371] Re: PHP4.3.0リリース

Yasuo Ohgaki php-users@php.gr.jp
Sat, 28 Dec 2002 07:35:24 +0900


大垣です。

Sumito_Oda wrote:
> PHP4.3.0正式版がリリースされましたね。PHP4.2.xから、
> 変わったところがいっぱいあって読みきれません。
> http://www.php.net/ChangeLog-4.php
> さてさて。

沢山、変更されています。

私が最も注意が必要な(解りにくいと思う)点はCLI (Command
Line Interface)とCGIのバイナリが同じ名前(php)である事。
CGIバイナリはimplicut_flushがphp.iniの設定に関わらず常
に有効である事。CLIもWebサーバーと同じphp.iniを参照するた
め、コマンドラインでは不必要な設定をデフォルトで読みにいって
しまう事、などが思いつきます。
(php.ini-cliをデフォルトのphp.iniサーチパスに入れると
CLI専用のphp.iniを読み込む事ができます。-nオプションを使
うとphp.iniを読み込まず、デフォルト値が使われます)

特にimplicit_flushは、一見正常に動作しているように見えま
すが全ての出力が自動的にフラッシュされます。したがって、最悪
の場合、スクリプトの実行時間が2倍くらい必要になります。
無効に設定するには、ini_set('inplicit_flush',0)をスク
リプト中から実行する必要があります。

# implicit_flushが常に有効な仕様は、非常に不親切かつお
# かしな仕様と思い強く反対しましたが、ダメでした :(
# 普通のプログラミング言語はchar deviceのラインバッファ
# (ラインフラッシュ)で十分かつ普通のプログラマはこれに
# 慣れていると思うのですが...
# 知る限りでは、Shell系以外のプログラミング言語で、こんな
# 仕様をもっているのはPHPだけです...

--
Yasuo Ohgaki