【发布时间】:2019-12-30 12:06:37
【问题描述】:
问题描述
我使用的是 Windows 10 操作系统。我已经在C:/Apache24 和PHP7.4.1 in C:/php7 中安装了Apache 2.4。在 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的php.ini文件如下:
extension_dir = C:\php7\ext
extension=bz2
extension=curl
;extension=ffi
extension=fileinfo
extension=gd2
extension=gettext
extension=gmp
extension=intl
extension=imap
;extension=ldap
extension=mbstring
extension=exif ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=odbc
extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
extension=pdo_odbc
extension=pdo_pgsql
extension=pdo_sqlite
extension=pgsql
extension=shmop
; The MIBS data available in the PHP distribution must be installed.
; See http://www.php.net/manual/en/snmp.installation.php
;extension=snmp
extension=soap
extension=sockets
;extension=sodium
extension=sqlite3
extension=tidy
extension=xmlrpc
extension=xsl
并且还在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
我没有其他想法,为什么 sqlite3 或 pdo_sqlite 在 apache2 中不可见但在 com 窗口中可见,尤其是因为它使用相同的 php.ini 文件。
更新
检查来自Apache24\logs 的“error.log”文件我可以看到以下警告:
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: C:\\php7\\ext\\pdo_sqlite (The specified module could not be found.), C:\\php7\\ext\\php_pdo_sqlite.dll (The specified module could not be found.)) in Unknown on line 0
但是,php_pdo_sqlite.dll 可以在使用 Windows 10 资源管理器的c:\php7\ext 中看到,但另一方面,C:\\php7\\ext 不是 Windows 资源管理器的有效路径。我不知道双反斜杠是否仅用于打印或确实在该路径上搜索。但是 cmd 不受双反斜杠的困扰。我真的不知道该怎么想!
【问题讨论】: