如何安装或激活 SQLite3 for PHP?

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

在 php.ini 中,我取消注释了

extension=sqlite3
以及将 extension_dir 定义为 ext 的行。在 PATH 中我添加了 PHP 安装文件夹,其中包含 libsqlite3.dll。

php -m
在 shell 中仍然不显示 sqlite3,并且任何使用 SQLite3 的 PHP 文件都会导致:

致命错误:未捕获错误:在 [php 文件] 中找不到类“SQLite3”

php windows sqlite
4个回答
4
投票

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

其他想法:


4
投票

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

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

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

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


0
投票

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


0
投票

我假设您已经有可用的 Apache。例如在

c:/Apache24
中。 现在从 php.net 下载 Windows 版 php。 将 zip 文件解压到
c:\php
或任何其他位置,但我将使用
c:\php
作为示例。

将文件

c:\php\php.ini-development
重命名为
c:\php\php.ini

编辑

c:\php\php.ini
并取消注释行

extension=sqlite3

编辑

c:\Apache24\conf\httpd.conf
并在顶行添加:

PHPIniDir "C:/php"
LoadModule php_module "C:/php/php8apache2_4.dll"
AddType application/x-httpd-php .php
LoadFile "C:/php/php8ts.dll"
LoadFile "C:/php/libsqlite3.dll"

您可能需要将其更改为您的 php 和 apache 版本。

接下来找到行

DirectoryIndex index.html
并将其更改为

DirectoryIndex index.html index.php

最后启动或重新启动apache。

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