【问题标题】:PHP Warning: PHP Startup: Unable to load dynamic library 'oci8_12c'PHP 警告:PHP 启动:无法加载动态库 'oci8_12c'
【发布时间】:2026-01-13 04:10:02
【问题描述】:

我正在尝试在 PHP 8.0.7 中使用 Instant client 12.2 启用 oci8_12c 扩展。在 Windows x64 上

  1. 我在我的 php.ini 文件中取消了 extension=oci8_12c 的注释。
  2. 已下载 php_oci8-3.0.1-8.0-ts-vs16-x64 文件并将其放置在我的 C:\xampp\php\ext 文件夹中
  3. 已下载instantclient-basic-windows.x64-12.2.0.1.0.zip 文件并解压缩到C:\Oracle\instantclient_12_2 并添加到PATH。
  4. Microsoft Visual Studio 2013 Redistributable. 下载并安装vcredist_x64.exe
  5. 重新启动我的电脑。

但是当我在我的 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)

phpinfo() screenshot

【问题讨论】:

    标签: oracle xampp oracle9i oci8 php-8


    【解决方案1】:

    经过 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 文件添加到我的根 php 和 apache 后,警告已解决。

    【讨论】: