2014-02-05 161 views
-2

我想使用COM对象在我的剧本XAMPP服务器上,并收到错误PHP类COM没有找到

fatal error class COM not found

谁能帮助?

代码:

//create an ADO connection and open the database 
$conn = new COM("ADODB.Connection"); 
$conn->open("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\WebData\Northwind.mdb"); 
+0

你试过安装它/它是否正确安装看见了什么? –

+0

我已经在php.ini中添加了[COM_DOT_NET] extension = php_com_dotnet.dll 但是仍然得到相同的错误.. – user3275714

+0

你提到了DanFromGermany的答案吗?或者看了安装指南? –

回答

2

As of PHP 5.3.15/5.4.5, this extension requires php_com_dotnet.dll to be enabled inside of php.ini in order to use these functions. Previous versions of PHP enabled these extensions by default.

You are responsible for installing support for the various COM objects that you intend to use (such as MS Word); we don't and can't bundle all of those with PHP.

http://php.net/manual/en/com.installation.php

From PHP 5.4.5, COM and DOTNET is no longer built into the php core.you have to add COM support in php.ini:

[COM_DOT_NET] extension=php_com_dotnet.dll

Otherwise you will see this in your error log: Fatal error: Class \'COM\' not found

The extension is included with php 5.4.5 for Windows.

http://php.net/manual/en/com.installation.php#109552

+0

lol。与此同时,我们设置了响应 – Ivan

+0

添加了这些行并下载了php_com_dotnet.dll,但仍然得到相同的错误..可以üplx告诉哪里添加这些行在php.ini中?在[php]部分??? – user3275714

+0

你重新启动了Apache吗? –

0

由于PHP 5.3.15/5.4.5,该扩展需要php_com_dotnet.dll要在php.ini中启用才能使用这些功能。默认情况下,以前的PHP版本启用了这些扩展。

您负责安装对您打算使用的各种COM对象(如MS Word)的支持;我们不会也不能将所有这些与PHP捆绑在一起。

如果您已经安装过,请首先检查扩展程序是否在表达式中加载。

例子:

<?php 
if (!extension_loaded('gd')) { 
    if (!dl('gd.so')) { 
     exit; 
    } 
} 

// update 

if (!extension_loaded('com')) { 
    echo "COM no exists"; 
} 
+0

这段代码没有给出任何结果。 – user3275714

+0

此代码是示例以显示如何检查扩展是否已加载。 – Ivan

+0

结果是com不存在..我已经安装php_com_dotnet.dll以及添加[com_dot_net]扩展= p​​hp_com_dotnet.dll我该怎么做才能üplx告诉哪里添加这两个loines在php.ini? – user3275714