[PHP-users 7067] hdmlコンテンツが出力されない
HOTTA Michihide
php-users@php.gr.jp
Tue, 23 Apr 2002 12:23:01 +0900
堀田@諫早市です。
php-4.0.6 で動いていたスクリプトを 4.2.0 に移行していたら、hdml
コンテンツが出力されない現象が発生して困っています。
[test.php]
<?php
header("Content-Type: text/x-hdml; charset=Shift_JIS\n");
print "ABC<BR>\n";
?>
というスクリプトを、以下の手順で呼び出します。
hotta@star ~$ telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET /test.php HTTP/1.0
HTTP/1.1 200 OK
Date: Tue, 23 Apr 2002 02:53:02 GMT
Server: Apache/1.3.24 (Unix) (Vine/Linux) mod_ssl/2.8.8
OpenSSL/0.9.6b PHP/4.3.0-dev
X-Powered-By: PHP/4.3.0-dev
Connection: close
Content-Type: text/x-hdml; charset=Shift_JIS
Connection closed by foreign host.
このように HTTP ヘッダのみ出力され、コンテンツ部分が出力されません。
エラーログにも何も記録されていません。php.ini は切り分けのために、
以下のものだけを指定しています。
[PHP]
output_buffering = 4096
output_handler = mb_output_handler
zlib.output_compression = Off
[mbstring]
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none;
;default_charset = Shift_JIS
mbstring.substitute_character = none
mbregex.encoding = EUC-JP
なお、output_buffering を無効にすると正しく出力されるようです。
上記の実行結果は php-4.3.0-dev になっていますが、php-4.2.0 でも
同様でした。
とりあえず関数で変換することで回避しようとは思いますが、なにか
調査のヒントをいただければと思います。