PHP无法加载动态库“;php_pdo_oci.dll“;

PHP无法加载动态库“;php_pdo_oci.dll“;,php,dynamic-library,Php,Dynamic Library,我正在Windows8上运行Apache2.4.7和PHP5.5.9。我安装了PHPUnit,这个警告图像“警告”开始弹出 是的,我在php.ini中启用了扩展加载以及“extension_dir”来更正文件夹,该文件夹中有一个名为“php_pdo_oci.dll”的文件。 我尝试使用不同的apache和php版本,但没有帮助。 有任何关于如何解决此问题的建议吗?请在php.ini文件的下一行添加 extension=pdo.so extension=php_pdo.dll extension

我正在Windows8上运行Apache2.4.7和PHP5.5.9。我安装了PHPUnit,这个警告图像“警告”开始弹出

是的,我在php.ini中启用了扩展加载以及“extension_dir”来更正文件夹,该文件夹中有一个名为“php_pdo_oci.dll”的文件。 我尝试使用不同的apache和php版本,但没有帮助。
有任何关于如何解决此问题的建议吗?

请在php.ini文件的下一行添加

extension=pdo.so
extension=php_pdo.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll

然后重新启动apache服务器并检查。

oci.dll是Oracle C接口的一部分。除非您需要使用Oracle,否则我建议您转到php.ini文件中的相关行,取消对加载此扩展的注释。但是,如果需要使用此扩展,则需要安装免费的Oracle客户端库并将它们添加到路径中

Oracle有一个页面,您可以在其中下载安装工作所需的库,您可以看到:


注意:在下载部分选择操作系统(答案中的Windows)后,您将在下一页的脚注中看到安装指南。对于其他OSs,这个过程也会以同样的方式工作。

我目前有PHP 7.1.9版,遇到了这个问题并解决了这个问题。只需确保php.ini文件中的这些行没有注释,如下所示:

extension=php_fileinfo.dll
extension=php_ftp.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_gmp.dll
extension=php_intl.dll
extension=php_imap.dll
extension=php_interbase.dll
extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll      ; Must be after mbstring as it depends on it
extension=php_mysqli.dll
extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client
extension=php_openssl.dll
extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
extension=php_shmop.dll

对php.ini文件进行任何更改后,请重新启动服务器应用程序(IIS、Apache e.t.c.)。

如果您将整个绝对路径传递到dll,只是为了测试,会怎么样?您似乎正在运行XAMPP,而不是独立的Apache和php。你有什么误解吗?@Raptor现在我正在运行xampp,因为它不能与独立的apache和php一起工作。我也试过wamp…@hek2mgl,它不起作用。php.ini扩展名_dir必须是目录。您的错误日志是否包含更多信息?扩展的另一部分可能有错误。请参阅C:\xampp\apache\logs以获取文件。我在Windows 10上使用WAMP服务器v3.1.7 64位,在PHP7.2.14和apache 2.4.37上尝试了您的答案。请确保path环境变量中有正确的路径。。。这是所有文件(jar/dll/sym/dll等)的路径。在我的第一次尝试中,我将Oracle客户端归档文件提取到c:\Oracle文件夹,并在路径中使用它,但我忽略了归档文件还包含一个文件夹instantclient\u 12\u 2。因此,对我来说,正确的文件夹是使用
C:\oracle\instantclient\u 12\u 2
。此外,由于我已经有了一个工作WAMP安装,我可以跳过所有可再发行的安装。