返回我-6ren">
gpt4 book ai didi

php - Xampp PHP 创建没有任何信息的 COM 对象 fatal error

转载 作者:IT王子 更新时间:2023-10-29 00:06:17 25 4
gpt4 key购买 nike

我的 PHP 应用程序遇到了问题。我正在构建一个应该连接到我们的 ERP ( selectline ) 的服务应用程序。

但我无法创建 COM 对象。这段代码:

<?PHP
error_reporting(E_ALL);
session_start();
date_default_timezone_set('Europe/Zurich');
echo time();
$obj = new COM("fd6c8b29-e936-4a61-8da6-b0c12ad3ba00") or die("Unable to instantiate Word");
echo "Loaded Word, version {$word->Version}\n";
?>

返回我:

Fatal error: in C:\xampp\htdocs\com.php on line 21

我有两个环境:

服务器 2008 R2 + Xampp v3.1.0 |PHP 5.4.7

服务器 2012 R2 + Xampp v3.1.0 | PHP 5.4.7

我不得不在 php.ini 中添加 php_com_dotnet.dll,因为我之前找不到 COM 类。

由于我是 COM 的新手,所以我不知道在哪里搜索故障。

希望你们能帮帮我。

提前致谢

我稍微修改了我的代码:

try {
$obj = new COM("word.application") or die("Unable to instantiate Word");
} catch (Exception $e) {
echo $e->getMessage() . "\n";
}

现在我得到:

Failed to create COM object `word.application': Invalid Syntax

我不明白哪里出了问题。根据这篇文章http://www.php.net/manual/en/class.com.php不需要额外的参数,对吧?

最佳答案

确保为“此用户”设置正确的 COM 权限。

  • 运行:“dcomcnfg”
  • 展开:组件服务 > 计算机 > 我的电脑 > DCOM 配置。
  • 选择:“Microsoft Word 97-2003 文档”
  • 右键单击它并打开属性
  • 点击身份选项卡。
  • 选择“此用户”并键入(管理员)用户的用户名和密码。
  • 应用这些新设置并测试您的 COM 应用程序。现在应该可以正常工作了。

我希望我能为你们中的一些人节省很多很多小时的头痛:)

PHP 设置

  • 在 php.ini 中启用 COM 扩展

extension=php_com_dotnet.dll

  • 重启 Apache

用法

<?php

try {
$word = new COM("word.application");
} catch (Exception $ex) {
echo $ex->getMessage();
exit;
}

$word->Screenupdating = true;
$word->WindowState = 2;
$word->Visible = 0;
$word->CheckLanguage = false;
$word->Options->Overtype = false;
$word->Options->SaveInterval = 0;
$word->Assistant->Visible = false;
$word->DisplayAlerts = false;

// Do fancy stuff...

// Close word
$word->Quit();
$word = null;

关于php - Xampp PHP 创建没有任何信息的 COM 对象 fatal error ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21405899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com