[PHP-users 2374] CGI版PHPでスクリプト1行目の出力を抑止
HIGASHI Taku
php-users@php.gr.jp
Mon, 01 Oct 2001 16:06:44 +0900 (JST)
東志と申します。
ApacheのSuExec機能を利用して、PHPスクリプトをそのスクリプトファイルの
所有者の権限で実行させようとしています。
試みに、/home/foo/public_html/showpw.cgi として、以下のコードを用意し、
--
#! /usr/local/bin/php
<?php
$pw = posix_getpwuid(posix_getuid());
echo "<pre>\n";
print_r($pw);
echo "</pre>\n";
?>
--
chmod +x した上で、Web経由で http://localhost/~foo/showpw.cgi として
参照したところ、下記の出力を得ました。
--
#! /usr/local/bin/php
Array
(
[name] => foo
[passwd] => *
[uid] => 1000
[gid] => 1000
[gecos] => FooBar
[dir] => /home/foo
[shell] => /bin/csh
)
--
Array()の内容自体は、意図した通り、ファイル所有者を示しており、問題
ありません。
問題なのは、スクリプトの1行目の「#! /usr/local/bin/php」が出力されて
しまう事です。
この出力を抑止する方法について、ご教示頂きたく、よろしくお願い致します。
尚、Webを経由せず、コマンドラインで実行した場合は、上記の問題は発生し
ません。
環境は、下記の通りです。
--
FreeBSD 4.3 RELEASE
Apache 1.3.20
mod_ssl-2.8.4-1.3.20
mm-1.1.3
openssl-0.9.6(FreeBSD 4.3-RELEASEにバンドルのもの)
PHP 4.0.6
--
以上、よろしくお願い致します。