サーバーに test.php というファイルがあります。内容は次のとおりです。
<?php
echo "hi\n";
try {
$dbh = new PDO('mysql:host=localhost;dbname=db', "foo", "bar");
echo "hi\n";
} catch (PDOException $e) {
die("Error!");
}
echo "hi\n";
?>
コードはかなり単純です。すべてがうまくいけば、hi が 3 回出力されるはずです。
このコードをシェルから実行すると、実際に「hi」が 3 行に分かれて出力されます。ただし、Web サイト (http://localhost/test.php) からこのファイルにアクセスすると、hi が 1 つだけ出力されます。
$dbh の削除 = new PDO('mysql:host=localhost;dbname=db', "foo", "bar"); 3 つすべてが Web サイト経由で正常に印刷されます。
MySQL 情報は正しく、ユーザーはデータベースにアクセスできます。
シェルを介してファイルに直接アクセスして 3 回すべて印刷するのに、Web サイト経由でアクセスすると 1 回しか印刷されないのはなぜですか?