我正在尝试在Digital Ocean Droplet上建立一个使用sqlite3的站点(我有SSH root访问权限),我在我的Ubuntu VPS上创建了一个/var/databases/myapp
目录来存储sqlite3 db。< / p>
但是,在上传PHP脚本以测试数据库访问后,我收到500错误。 PHP脚本只是为了确保我可以访问sqlite3 db,如下所示:
myfile.php
$dir = 'sqlite:/var/databases/myapp/mydb.sqlite3';
$dbh = new PDO($dir) or die("There was a problem accessing database. Please contact the admin.");
$stm = $dbh->prepare('SELECT * FROM my_table');
$stm->execute();
$results = $stm->fetchAll(PDO::FETCH_ASSOC);
foreach($results as $result):
var_dump($result);
endforeach;
当我尝试在 myfile.php 访问此文件时,出现500错误。任何人都可以建议我可能配置错误,以防止PHP文件访问数据库吗?
我尝试使用here指令激活PHP错误日志记录,但我创建的error_log文件为空,所以我认为我没有正确配置它。
作为设置服务器经验不足的人,我非常感谢您的帮助!
编辑: 我在apache2 error.log中找到了以下内容 [日期时间] [:错误] [pid xxxx] [客户端xxx.xx.xxx.x:xxxxx] PHP致命错误:未捕获PDOException:在/var/www/html/testme.php:5\nStack中找不到驱动程序trace:\ n#0 /var/www/html/testme.php(5):PDO-&gt; __ construct('sqlite:/ var / dat ...')\ n#1 {main} \ n抛出/第5行的var / www / html / testme.php
我认为这意味着我需要安装pdo_sqlite
扩展程序。