程序无法启动,因为您的计算机缺少 php7.dll

The program cannot start because php7.dll is missing from your computer

我正在尝试使用 PHP7 和 Apache 2.4 部署 OCI8。 数据库不在我的本地电脑上。它在与Oracle 11g Enterprise 版本和64 位架构的不同服务器上。

我无法使用以下设置在我的本地 PC 上加载 oci8

extension=php_oci8_11g.dll
extension_dir = c:\php\ext

系统变量中的 path 已正确更新为 c:\php;

我已经仔细按照说明操作了https://www.oracle.com/technetwork/articles/dsl/technote-php-instant-084410.html

我使用的是 64 位的所有版本,因为我的 PC 运行宁 64 位:

  1. mod_fcgid
  2. 即时客户端
  3. php7
  4. 阿帕奇 2.4

phpinfo() 在我的浏览器上显示完美,但它不显示 oci8 的 table。然后我 运行 命令 php -m 在 cmd 中仔细检查状态,但我得到以下弹出窗口:

The program cannot start because php7.dll is missing from your computer.
Try reinstalling the program to fix the problem.

并且 cmd window 显示以下错误:

Warning: PHP Startup: Unable to load dynamic library 'php_oci8_11g'
(tried: C:\php\ext\php_oci8_11g (The specified module could not be
found.), C:\php\ext\php_php_oci8_11g.dll (The specified module could 
not be found.)) in Unknown on line 0

可能是什么问题?

我让它与 extension=oci8_12c 一起工作。事实证明,即使我尝试连接的远程 Oracle 数据库是 11g 版本,最新的 oci8 版本也支持 11g。 这有效:https://www.oracle.com/technetwork/articles/dsl/technote-php-instant-12c-2088811.html