在终端中执行的php文件中的pdo连接不起作用


pdo connection in php file executed in terminal does not work

我有一个php文件,如果在浏览器中执行,效果很好,但当我在终端中执行时,

php/opt/lampp/htdocs/examplep/site_name/update_db.php

pdo包含和连接似乎不起作用,因为我得到了错误

找不到驱动程序PHP致命错误:调用上的成员函数prepare()中的非对象/opt/lampp/htdocs/examplep/site_name/update_db.php在线8

update_db.php

include("roc/include/connection.php");
$db = new PDOConnectionFactory();
$conn = $db->getConnection();
//prepare for utf8 characters
$sql = 'SET NAMES utf8';
$stmt = $conn->prepare($sql);
$result=$stmt->execute();
$sql = 'SET CHARACTER SET utf8';
$stmt = $conn->prepare($sql);
$result=$stmt->execute();
//**************************

 $sql = 'update video SET
status=? WHERE file_name=?';
$stmt6 = $conn->prepare($sql);
$result=$stmt6->execute(array('1','5cca985383047644f51c4f31d906c8f8'));

有人有什么想法吗

此主题已解决。阅读评论。

听起来像是权限问题。当你从浏览器执行脚本时,执行用户通常是你的网络服务器(即Apache),当你从控制台执行它时,登录的用户正在执行它

是的,您需要在命令行中设置路径或使用绝对路径。