我的服务器上有一个名为 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";
?>
代码相当简单。如果一切正常,它应该打印三遍。
当我从 shell 运行这段代码时,它确实在三个单独的行上打印了“hi”。但是,当我通过网站 (http://localhost/test.php) 访问此文件时,它只打印一个 hi。
删除 $dbh = new PDO('mysql:host=localhost;dbname=db', "foo", "bar"); 使他的所有三个都通过网站成功打印。
MySQL 信息是正确的,并且用户确实可以访问数据库。
什么会导致我直接通过外壳访问文件以打印所有三遍,但通过网站访问时只打印一次?