我在 hMailServer 和 XAMPP 的 PHPWebAdmin 页面中不断获得“致命错误:找不到类 COM”
Posted
技术标签:
【中文标题】我在 hMailServer 和 XAMPP 的 PHPWebAdmin 页面中不断获得“致命错误:找不到类 COM”【英文标题】:I keep obtaining the "Fatal Error: Class COM not found" in my PHPWebAdmin page in hMailServer and XAMPP 【发布时间】:2019-03-31 09:56:45 【问题描述】:我正在尝试使用 hMailServer 和 XAMPP,但我一直在获取
" 致命错误:未捕获的错误:类 'COM' 未在 C:\xampp\htdocs\phpWebAdmin\initialize.php:16 堆栈跟踪:#0 C:\xampp\htdocs\PHPWebAdmin\index.php(23): require_once() #1 main 在第 16 行的 C:\xampp\htdocs\PHPWebAdmin\initialize.php 中抛出“。
即使在我拥有之后,
1) 用正确的字符串修改了 config.php:
$hmail_config['rooturl'] = "http://localhost:8080/PHPWebAdmin/"
和
$hmail_config['rootpath'] = "C:\xampp\htdocs\PHPWebAdmin";
2) 安装了extension=php_com_dotnet.dll
和 DCOM 类;
3) 启用 DCOM;
4) 已经在dcomcnfg.exe中修改了HMAILSERVER的安全性。
5) Apache 和 mysql 正在 XAMPP 中运行。
我想不出其他人的解决方案,有人可以帮助我吗?
【问题讨论】:
Class 'COM' not found的可能重复 完整的错误是什么? 【参考方案1】:PHPWebAdmin setup problems:
DCOM 未启用
PHPWebAdmin 使用 hMailServer COM API 来访问设置和 hMailServer 安装中的对象。为此,它 可能需要在 PHP 配置中启用 DCOM。确保
com.allow_dcom = true
存在且未在 php.ini 中注释。
我想这也意味着你也需要COM extension。
【讨论】:
[COM] ;包含 GUID、IID 或带有 TypeLibs 的文件的文件名的文件的路径; php.net/com.typelib-file ;com.typelib_file = ;允许分布式 COM 调用; php.net/com.allow-dcom com.allow_dcom = true 已经取消评论了,还是不行 @Francesco_RedKing 如果“不起作用”意味着您仍然得到“缺少扩展”,那是因为您尚未安装扩展。为未安装的扩展设置配置指令没有任何影响。如果您的意思不同,请详细说明。 我仍然收到之前显示的相同消息,错误没有任何改变。我检查了 php.ini 中的 DCOM,我正在从 hMailServer 站点读取一些设置问题,但仍然不知道出了什么问题。也许我应该编辑 PHPWebServer 文件夹中的 initialize.ini 文件? 但是您是否首先安装了 COM 扩展?这涉及到extension=php_com_dotnet.dll
之类的东西。你甚至没有提到这一点。
是的,对不起,但我忘了提,我已经安装了那个和 DCOM 类(我要编辑它,谢谢你通知我这个错误)。【参考方案2】:
在您的php.ini
中(确保它是 Apache2 在加载 mod_php
时正在加载的那个)找到该行
; extension=php_com_dotnet
去掉开头的;
,保存文件并重启Apache2。然后再次检查。
【讨论】:
以上是关于我在 hMailServer 和 XAMPP 的 PHPWebAdmin 页面中不断获得“致命错误:找不到类 COM”的主要内容,如果未能解决你的问题,请参考以下文章
本地主机上带有 hMailServer 的 PHP sendmail:535 身份验证失败