Windows:如何安装或激活 PHP 的 SQLite3

问题描述 投票:0回答:3

任何其他问题仅适用于 Ubuntu。

我做了什么: 在 php ini 中,我取消注释了这一行:extension=sqlite3 以及将 extension_dir 定义为 ext

在PATH中我添加了PHP安装文件夹,其中包括libsqlite3.dll

shell 中的“php -m”仍然不会显示 sqlite3(或任何类似的内容),并且任何使用 SQLite3 的 PHP 文件都会导致经典的结果:“致命错误:未捕获错误:在 [php 文件] 中找不到类“SQLite3””

所有在线教程(谷歌可以找到的两个针对 Windows 的教程)只是说在这些步骤之后(甚至在第一个步骤之后)它可以工作。

php windows sqlite
3个回答
3
投票

问题在于默认 Windows .ini 文件的命名方式

默认情况下,提供的 .ini 文件名为“php.ini-product”和“php.ini-development”。由于它们不以“.ini”结尾,因此不会被拾取并忽略任何编辑。

将其重命名为 php.ini(并重新启动)后,它终于起作用了。

事后看来,这完全是显而易见的,但我很长一段时间都没有注意到它


2
投票

TL;DR:你有

php_sqlite3.dll
,对吧?

https://www.php.net/manual/en/sqlite3.installation.php

他们说:

默认启用 SQLite3 扩展。

并且(这是重要的部分):

Windows 用户必须启用

php_sqlite3.dll
才能使用此扩展。该 DLL 包含在 PHP 的 Windows 发行版中。

并且(我猜你已经遵循了)

注意:自 PHP 7.4.0 起,Windows 上的附加设置

为了让这个扩展工作,必须有 DLL 文件 适用于 Windows 系统

PATH
。有关如何操作的信息 请参阅题为“如何将我的 PHP 目录添加到
PATH
”的常见问题解答 在 Windows 上”。虽然将 DLL 文件从 PHP 文件夹复制到 Windows 系统目录也可以(因为系统目录是 系统默认的
PATH
),不建议这样做。 这个 扩展要求以下文件位于
PATH
中:
libsqlite3.dll

其他想法:


0
投票

打开 php.ini 然后搜索“extension_dir”。对于 Windows,extension_dir =“ext”;对于 Linux,extension_dir =“./”。只需删除“;”即可根据您的操作系统,在extension_dir之前。这个extension_dir指向dll的。希望这能解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.