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

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

问题描述:

I am trying to deploy OCI8 with PHP7 and Apache 2.4. The database does not reside in my local pc. It is on a different server with Oracle 11g Enterprise version and 64bit architecture as well.

I am unable to load oci8 on my local PC with the following settings

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

The path in system variables is properly updated with c:\php;

I have followed the instructions carefully https://www.oracle.com/technetwork/articles/dsl/technote-php-instant-084410.html

I am using all versions with 64bit as my PC is running 64bit:

  1. mod_fcgid
  2. instantclient
  3. php7
  4. apache 2.4

phpinfo() shows perfectly on my browser but it does not show a table for oci8. I then run the command php -m in cmd to double check the status, but I get the following popup:

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

And the cmd window shows the following error:

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

What could be the problem?

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

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

  extension = php_oci8_11g.dll 
extension_dir = c:\ php \ ext 
  code>  pre> 
 
 

系统变量中的路径 em>是 使用 c:\ php; strong> p>正确更新

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

我正在使用64位的所有版本,因为我的电脑运行的是64位: p>

  1. mod_fcgid li>
  2. instantclient li>
  3. php7 li>
  4. apache 2.4 li> ol>

    phpinfo() strong>显示 完全在我的浏览器上,但它没有显示oci8的表。 然后我在cmd中运行命令 php -m strong>来仔细检查状态,但是我得到以下弹出窗口: p>

     由于php7,程序无法启动 您的计算机中缺少.d。
    请尝试重新安装程序以解决问题。
      code>  pre> 
     
     

    cmd窗口显示以下错误: p>

     警告:PHP启动:无法加载动态库'php_oci8_11g'
    (试过:C:\ php \ ext \ php_oci8_11g(指定的模块不能是
    found。),C:\ php  \ ext \ php_php_oci8_11g.dll(无法找到指定的模块。))在第0行的未知中
      code>  pre> 
     
     

    可能是什么问题? p> div>

I had it working with extension=oci8_12c instead. It turned out that even if the remote Oracle Database I am trying to connect with is of version 11g, the latest oci8 version supports 11g as well. This worked: https://www.oracle.com/technetwork/articles/dsl/technote-php-instant-12c-2088811.html