|  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
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
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please — but make sure to vote on the bug!
Your email address:
Solve the problem:
41 - 5 = ?
Subscribe to this entry?

 [2008-10-03 13:07 UTC] mark at koalit dot dk
.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("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=, Culture=neutral, PublicKeyToken=a7a0b3f5184f2169", "Websupergoo.ABCpdf6.Doc");

(needs to install ABCpdf 6.1 .Net from

Expected result:

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


Add a Patch

Pull Requests

Add a Pull Request


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]
 [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:
Culture: Neutral
Public Key Token: c42df41937303b82


$test = new DOTNET("TestLibrary, Version=, Culture=neutral, PublicKeyToken=c42df41937303b82'", "TestLibrary.Test");

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=, Culture=neutral, PublicKeyToken=c42df41937303b82'"


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

Sorry for spam, one sign "'" caused this error. Now the result is "Test passed".
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Tue Jul 27 16:01:23 2021 UTC