1

为什么 PHP 8.1.1 不使用 Apache 2.4.52 加载 PDO 驱动程序,即使模块已加载到 PHP CLI 上?

我正在运行一个 windows 11 64 位系统,我从 https://www.apachehaus.com/cgi-bin/download 尝试了 Apache/2.4.52 (Win64) (Apache 2.4 VS16) 和 Apache 2.4.x OpenSSL 1.1.1 VC15 。 plx#MODULES24VS16

我也从上面的站点安装了 Microsoft Visual C++ 2019 Redistributable (VS16)。我从https://windows.php.net/download#php-8.1安装了 PHP 8-1.1 VS16 x64 Thread Safe (2021-Dec-15 11:08:34) 。

我启用了扩展(未注释)。

extension=pdo_pgsql
extension=pdo_sqlit
extension=pgsql

extension_dir = "c:\php-8.1.1\ext"

现在的问题:

在 Apache 2.4 VS16 版本中,Apache 未启动 httpd.exe -t 无法将 c:\php-8.1.1\php8apache2_4.dll 加载到服务器中:%1 不是有效的 Win32 应用程序。

httpd.conf 上的配置:

PHPINIDir "c:/php-8.1.1/php.ini"
LoadModule php_module "c:\php-8.1.1\php8apache2_4.dll"

在 Apache VC15 服务器启动但 PDO 驱动程序未加载 phpinfo() PDO 驱动程序无值 curl 未加载 pgsql 未加载

php cli 正在工作。

c:\Apache24\bin>php -m
[PHP Modules]
...
curl
PDO
pdo_pgsql
pgsql
....
[Zend Modules]
4

1 回答 1

-1

我在同一个操作系统上遇到了同样的问题。当我将 Apache 2.4.52 VC16 更改为 VC15 时解决了这个问题。PHP正常加载扩展

于 2022-01-16T22:28:59.343 回答