0

我的服务器上有一个名为 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 信息是正确的,并且用户确实可以访问数据库。

什么会导致我直接通过外壳访问文件以打印所有三遍,但通过网站访问时只打印一次?

4

1 回答 1

0

你确定你启用了 PDO 扩展?如果您只得到一个“hi”,则意味着您在 PDO 对象声明中遇到致命错误。像这样的东西"Fatal error: Class 'PDO' not found"请检查。

http://php.net/manual/en/pdo.installation.php

无论如何,您的代码对我来说都很好。

于 2012-08-15T04:58:48.997 回答