PHP調用C#寫的dll組件,已注冊已加載,但是在PHP上仍然是提示
Failed to create COM object `CodeData.GetData'
求解啊,謝謝了。
C#dll生成,設置修改了以下步驟:
1、在生成(Build)屬性裡選中“為 COM interop 注冊”
2、在簽名(signing)屬性選中“為程序集簽名”;
3、新建一個簽名,起個名字;
4、取消勾選使用密碼保護密鑰文件;
5、修改工程屬性文件(AssemblyInfo.cs),確認 [assembly: ComVisible(true)] 。
並且使用Visual Stdio的命令提示符裡進行手動注冊:
gacutil /i CodeData.dll
regasm CodeData.dll
均提示成功。
PHP環境配置是正常的,
<?php
echo "OK";
try{
$com = new Com("CodeData.GetData");
$result = $com->GetData();
echo $result;
}
catch(Exception $e){
print_r($e->getMessage());
}
$com = null;
?>
這麼一段代碼,可以輸出OK,還有Failed to create COM object `CodeData.GetData'
OKFailed to create COM object `CodeData.GetData': �����
如果注冊了,那就要看一下創建對象時為什麼失敗了。添加一些錯誤返回信息等