sqlite3和pdo_sqlite未加载到php apache2 localhost中,而是加载到php cmd窗口中 问题描述

sqlite3和pdo_sqlite未加载到php apache2 localhost中,而是加载到php cmd窗口中 问题描述,php,windows,apache,sqlite,Php,Windows,Apache,Sqlite,我使用Windows10操作系统。我已经在C:/Apache24中安装了apache2.4,在C:/PHP7中安装了PHP7.4.1。在Apache的配置文件httpd.conf中,我附加了以下内容 LoadModule php7_module "c:/php7/php7apache2_4.dll" #<FilesMatch \.php$> # SetHandler application/x-httpd-php #</FilesMatch&

我使用Windows10操作系统。我已经在
C:/Apache24
中安装了apache2.4,在C:/PHP7中安装了
PHP7.4.1。在Apache的配置文件httpd.conf中,我附加了以下内容

    LoadModule php7_module "c:/php7/php7apache2_4.dll"
    #<FilesMatch \.php$>
    #   SetHandler application/x-httpd-php
    #</FilesMatch>
    AddType application/x-httpd-php .php
    PHPIniDir "C:/php7" 
我还在php.ini中修改了

     [sqlite3]
     ; Directory pointing to SQLite3 extensions
     ; http://php.net/sqlite3.extension-dir
     sqlite3.extension_dir = C:\Apache24\htdocs
然后我重启了apache几十次,重启了PC一次

问题: 我制作了一个“index.php”文件,并将其放置在“c:/apache24/htdocs”中,其中包含以下文本:

    <?php phpinfo(); ?>

转到Chrome Web浏览器中的“localhost”,我会看到PHP信息文件。但是,-->它没有启用sqlite3或pdo_sqlite当apache运行php时(因为您获取web服务器提供的URL并将*.php URL重定向到php),然后php从一个特定目录加载一个
php.ini
文件。您可以在web浏览器的
phpinfo()
输出中看到加载的
php.ini
(以及可能的其他配置文件)的路径

相反,如果您从命令行运行php,那么php将使用不同的
php.ini
,更准确地说,是来自不同目录的php.ini。您也可以在
phpinfo()
的输出中看到这个php.ini的路径,但它将显示在您的终端中,而不是浏览器中。您可以通过类似于以下命令的命令获得此输出:

php c:\Apache24\htdocs\index.php
关键是,如果您希望同时从命令行和web服务器使用sqlite或其他扩展,则需要调整这两个php.ini文件

与其使用双反斜杠,不如使用单向前斜杠,比如
extension\u dir=“C:/php7/ext”
,但是,免责声明,我的windows计算机上没有安装apache和php,因此我无法确认我说的是否正确

我仍然希望我能帮上忙。:)


祝你新年快乐。:)

将Apache升级到2.4.41+并将以下内容添加到我的httpd.conf中,解决了我的问题

# PHP7

LoadModule php7_module "C:/Php/php7apache2_4.dll"
AddHandler application/x-httpd-php .php
AddHandler application/x-httpd-php .phtml
PHPIniDir C:/Php

# FIX CURL REQUIRES LIBSSH2
LoadFile "C:/Php/libssh2.dll"
LoadFile "C:/Php/libsqlite3.dll"

谢谢你的回答。在Windows中,php.ini没有我在其他答案中看到的两个目录,Linux CLI和Apache就是这样。相反,只有一个php.ini文件(实际上有两个,php.ini-production和php.ini-development,但其中一个将用作php.ini),我可以确认,comand line和apache都使用相同的php.ini文件。
# PHP7

LoadModule php7_module "C:/Php/php7apache2_4.dll"
AddHandler application/x-httpd-php .php
AddHandler application/x-httpd-php .phtml
PHPIniDir C:/Php

# FIX CURL REQUIRES LIBSSH2
LoadFile "C:/Php/libssh2.dll"
LoadFile "C:/Php/libsqlite3.dll"