问题描述
我正在尝试在 PHP 8.0.7 中使用 oci8_12c
启用 Instant client 12.2
扩展。在 windows x64 上
- 我已在 PHP.ini 文件中取消注释
extension=oci8_12c
。 - 下载了
PHP_oci8-3.0.1-8.0-ts-vs16-x64
个文件并将其放置在我的C:\xampp\PHP\ext
文件夹中 - 下载了
instantclient-basic-windows.x64-12.2.0.1.0.zip
文件并解压到C:\Oracle\instantclient_12_2
也添加到了 PATH。 - 从Microsoft Visual Studio 2013 Redistributable.下载并安装
vcredist_x64.exe
- 重新启动了我的电脑。
但是当我在我的 cmd 中运行 PHP --ini
时。我收到以下警告:
PHP Warning: PHP Startup: Unable to load dynamic library 'oci8_12c' (tried: C:\xampp\PHP\ext\oci8_12c (The specified module Could not be found),C:\xampp\PHP\ext\PHP_oci8_12c.dll (The specified module Could not be found)) in UnkNown on line 0
Warning: PHP Startup: Unable to load dynamic library 'oci8_12c' (tried: C:\xampp\PHP\ext\oci8_12c (The specified module Could not be found),C:\xampp\PHP\ext\PHP_oci8_12c.dll (The specified module Could not be found)) in UnkNown on line 0
Configuration File (PHP.ini) Path:
Loaded Configuration File: C:\xampp\PHP\PHP.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
解决方法
经过 3 天的尝试和失败 我找到了 Daniel Opitz 的 article。
我在问题帖子中遗漏的步骤是
Copy all *.dll files: to c:\xampp\php
Copy all *.dll files to c:\xampp\apache\bin (We need a second copy here for apache)
就是这样!!将 .dll 文件添加到我的 root php 和 apache 后,警告已解决。