php连接sqlite出错,哪位大佬帮忙看看什么问题?感谢!
php吧
全部回复
仅看楼主
level 2
brihee 楼主
出错信息:
Fatal error: Uncaught Error: Class "SQLite3" not found in D:\dev\www\test.php:12 Stack trace: #0 {main} thrown in D:\dev\www\test.php on line 12
代码如下:
<?php
class MyDB extends SQLite3
{
function __construct()
{
$this->open('test.db');
}
}
$db = new MyDB();
?>
2023年12月25日 01点12分 1
level 16
类未找到,sqlite扩展没加载,可以去官方文档查下windows path的配置
2023年12月25日 03点12分 2
环境变量已加上,也不行。
2023年12月25日 04点12分
@brihee phpinfo里看一眼扩展列表,先确认一下扩展加没加载喽
2023年12月25日 04点12分
@SeaDrip_Poplar 也加载了,都不行。 extension=pdo_sqlite extension=sqlite3
2023年12月25日 04点12分
@SeaDrip_Poplar 也加载了,都不行。 extension=pdo_sqlite extension=sqlite3
2023年12月25日 04点12分
level 14
php.ini里把SQLite扩展的分号去掉
2023年12月25日 04点12分 3
level 2
brihee 楼主
扩展已经加上,仍然同样的故障。
extension=pdo_sqlite
extension=sqlite3
2023年12月25日 04点12分 4
level 6
用pdo
不要直接用sqlite3
<?php
$pdo = new PDO(
'sqlite:/opt/databases/mydb.sq3',
null,
null,
array(PDO::ATTR_PERSISTENT => true)
);
2023年12月28日 04点12分 8
level 5
这个错误信息表示 PHP 在试图使用 `SQLite3` 类时没有找到它。这通常意味着你的 PHP 安装中没有启用 SQLite3 扩展。
你可以通过以下步骤来检查和启用 SQLite3 扩展:
1. **检查 SQLite3 扩展是否已安装**:
你可以通过运行以下命令来检查:
```bash
php -m | grep sqlite
```
如果输出中包含 `sqlite`,那么表示 SQLite3 扩展已经安装。
2. **启用 SQLite3 扩展**:
如果 SQLite3 扩展没有安装,你需要根据你的 PHP 安装方式来安装它。例如,如果你使用的是 PHP 的源代码安装,你可以在 `php.ini` 文件中找到并取消注释以下行:
```ini
;extension=sqlite3
```
然后保存文件并重新启动你的 web 服务器。
3. **使用 PDO**:
如果你不一定要使用 `SQLite3` 类,可以考虑使用 `PDO` 来与 SQLite 数据库交互。PDO 提供了一个更通用的数据库访问层,并支持多种数据库系统。以下是使用 PDO 与 SQLite 数据库交互的简单示例:
```php
<?php
$dsn = 'sqlite:test.db';
$user = null;
$password = null;
try {
$dbh = new PDO($dsn, $user, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// ... 其他数据库操作 ...
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
```
确保你已经正确地安装和配置了 PDO 和 SQLite 扩展。
2023年12月30日 08点12分 9
1