3

将 PHP 升级到 v. 5.5.1 后出现此错误:

Fatal error: Class 'COM' not found in
C:\inetpub\wwwroot\ndsystems\database_engine\mssql_engine.php on line 184

mssql_engine.php 文件中的第 184 行:

$this->COMConnection = new COM('ADODB.Connection');    //line 184
try {
    $this->COMConnection->Open($connectionString);
    $this->RetrieveServerVersion();
} catch (com_exception $e) {
    $this->lastError = $e->getMessage();
    $result = false;
}
return $result;

环境是 Windows 2008 R2 SP1,IIS 7

我尝试过的事情:

  1. 在 php.ini 的末尾添加:

    [PHP_COM_DOTNET]
    
    extension=php_com_dotnet.dll
    
  2. 添加extension=php_com_dotnet.dll在 php.ini 的 [PHP] 部分

  3. 重新启动 IIS 并重新启动服务器本身。

  4. 将 PHP 降级到 5.3.27

似乎没有任何效果。如何修复此错误?

4

1 回答 1

3

除了添加

[PHP_COM_DOTNET]
extension=php_com_dotnet.dll

对于你的php.ini文件,你必须告诉 PHP 在哪里寻找扩展,并启用扩展。

要告诉 PHP 在哪里寻找 Windows 上的扩展,只需取消注释(删除前导;)以下行:

extension_dir = "ext"

要启用扩展,请将启用标志设置为 On:

enable_dl = On
于 2014-07-24T21:35:24.143 回答