我有 PHP 5.4.16 在我的 Centos7 服务器上运行 SQLite3 3.7.17。我可以使用 python 写入数据库并创建数据库,但是当我尝试使用 PHP 在我的网站上读取它时,我无法使用 SQLite3 做任何事情。<?php$db = new SQLite3('var/www/html/WebDatabase/AccountDevices.db');$result = $db->query('SELECT * FROM log');var_dump($result->fetchArray());?>正如你所看到的,我的代码是基本的,所以我认为这不是问题,只是 php 不能很好地与 SQLite3 配合使用。我当前的 php.ini 文件:[sqlite]http://php.net/sqlite.assoc-case;sqlite.assoc_case = 0[sqlite3]sqlite3.extension_dir=/usr/bin/sqlite3我收到了一个错误,即未安装 SQLite,然后我安装了 php-pdo 但也无法使其正常工作。php -m[PHP Modules]bz2calendarCorectypecurldateeregexiffileinfofilterftpgettextgmphashiconvjsonlibxmlmhashmysqlmysqliopensslpcntlpcrePDOpdo_mysqlpdo_sqlitePharreadlineReflectionsessionshmopSimpleXMLsocketsSPLsqlite3standardtokenizerxmlzipzlib[Zend Modules]所以 SQLite3 开启了,PDO 也开启了(我不知道这是什么。)我在这里搞砸了什么?我已经做了大约 4 个小时,尝试了很多东西来解决这个问题。我现在遇到了这个错误。PHP Fatal error: Uncaught exception 'PDOException' with message 'invalid data source name' in /var/www/html/accounts.php:3Stack trace:#0 /var/www/html/accounts.php(3): PDO->__construct('var/www/html/We...')#1 {main} thrown in /var/www/html/accounts.php on line 3怎么办?
1 回答

猛跑小猪
TA贡献1858条经验 获得超8个赞
PHP 致命错误:在 /var/www/html/accounts.php:3 中带有消息“无效数据源名称”的未捕获异常“PDOException”
如果您使用的是 PDO,那么您不仅要使用文件名创建句柄,还必须提供格式正确的 DSN 字符串,如此处所述。
就像是:
$db = new PDO('sqlite:var/www/html/WebDatabase/AccountDevices.db');
请注意,您可能想要一个完全限定的路径而不是相对路径:
$db = new PDO('sqlite:/var/www/html/WebDatabase/AccountDevices.db');
有关PDO/SQLite 的一些好的示例,请参见此处。
- 1 回答
- 0 关注
- 349 浏览
添加回答
举报
0/150
提交
取消