php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #46224 Cannot instantiate .Net object (ABCpdf 6.1 .Net)
Submitted: 2008-10-03 13:07 UTC Modified: 2008-10-24 10:39 UTC
Votes:7
Avg. Score:3.9 ± 1.4
Reproduced:5 of 5 (100.0%)
Same Version:2 (40.0%)
Same OS:1 (20.0%)
From: mark at koalit dot dk Assigned:
Status: Open Package: COM related
PHP Version: 5.2.6 OS: Vista Business SP1 (da)
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: mark at koalit dot dk
New email:
PHP Version: OS:

 

 [2008-10-03 13:07 UTC] mark at koalit dot dk
Description:
------------
.Net framework version 3.5 (latest) is installed.

Installed a specific .Net component, but PHP fails to instantiate the object. 

The script is runnning from command line.


The standard example:
$stack = new DOTNET("mscorlib", "System.Collections.Stack"); 
$stack->Push(".Net"); 
$stack->Push("Hello "); 
echo $stack->Pop() . $stack->Pop();

Works fine - returns "Hello .Net"
Seems like lot's of users have problems using .Net objects from PHP - can you confirm this as a bug or is a local problem ?

Reproduce code:
---------------
$pdf = new DOTNET("Assembly=ABCpdf, Version=6.1.1.5, Culture=neutral, PublicKeyToken=a7a0b3f5184f2169", "Websupergoo.ABCpdf6.Doc");

(needs to install ABCpdf 6.1 .Net from www.websupergoo.com)

Expected result:
----------------
nothing

Actual result:
--------------
PHP Fatal error : Uncaught exception 'com_exception' with message 'Failed to instantiate .Net object [CreateInstance] [0x80131047]' in D:\dotnet\dotnet.php
Stack trace:
#0 (snip) dotnet->dotnet('Assembly=ABCpdf...', 'Websupergoo.ABCpdf6.Doc')
#1 {main}
thrown in D:\dotnet\dotnet.php

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-10-03 13:08 UTC] mark at koalit dot dk
Forgot to include PHP version (5.2.6)
 [2008-10-24 10:39 UTC] bjori@php.net
reclassified.
 [2009-07-08 11:53 UTC] p dot stankowski at transcomp dot pl
.Net framework 3.5 installed. PHP version 2.3.0.
I have created class library in C# called TestLibrary.dll.
It has only one class:

namespace TestLibrary
{
    public class Test
    {
        public string GetString() { return "Test passed"; }
    }
}

Then signed it and added it to GAC. In C:\Windows\assembly I have found all values needed:
Version: 1.0.0.0
Culture: Neutral
Public Key Token: c42df41937303b82

Script:

<?php
$test = new DOTNET("TestLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c42df41937303b82'", "TestLibrary.Test");
print($test->GetString());
?>

Expected result:
Test passed


Actual result:

PHP Fatal error:  Uncaught exception 'com_exception' with message 'Failed to instantiate .Net object [CreateInstance] [0x80131047] ' in C:\home\Projects\hi_1289_IT-ZEB-SERVER\trunk\src\PHPWithNETTest\index.php:10
Stack trace:
#0 C:\home\Projects\hi_1289_IT-ZEB-SERVER\trunk\src\PHPWithNETTest\index.php(10): dotnet->dotnet('TestLibrary, Ve...', 'TestLibrary.Tes...')
#1 {main}
  thrown in C:\home\Projects\hi_1289_IT-ZEB-SERVER\trunk\src\PHPWithNETTest\index.php on line 10
 [2009-07-08 12:09 UTC] p dot stankowski at transcomp dot pl
Just had to replace:

"TestLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c42df41937303b82'"

with:

"TestLibrary, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c42df41937303b82"

Sorry for spam, one sign "'" caused this error. Now the result is "Test passed".
 
PHP Copyright © 2001-2020 The PHP Group
All rights reserved.
Last updated: Thu Nov 26 21:01:23 2020 UTC