我的服务器上有一个名为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信息正确,用户可以访问数据库。
什么会导致我直接通过shell访问文件三次打印,但只能在通过网站访问时打印一次?
答案 0 :(得分:0)
您确定已启用PDO扩展吗?如果只有一个“hi”,则表示您在PDO对象声明中出现fatel错误。这样的事情"Fatal error: Class 'PDO' not found"
请检查。
http://php.net/manual/en/pdo.installation.php
无论如何,你的代码在我身上运作良好。