Bug #46224 [Opn->Fbk]: Cannot instantiate .Net object (ABCpdf 6.1 .Net)

From: Date: Thu, 05 Aug 2021 12:22:35 +0000
Subject: Bug #46224 [Opn->Fbk]: Cannot instantiate .Net object (ABCpdf 6.1 .Net)
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-235612@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=46224&edit=1 ID: 46224 Updated by: cmb@php.net Reported by: mark at koalit dot dk Summary: Cannot instantiate .Net object (ABCpdf 6.1 .Net) -Status: Open +Status: Feedback Type: Bug Package: COM related Operating System: Vista Business SP1 (da) PHP Version: 5.2.6 -Assigned To: +Assigned To: cmb Block user comment: N Private report: N New Comment: Is this still an issue with any of the actively supported PHP versions[1]? Note that as of PHP 8.0.0, you can (and likely have) to set com.dotnet_version[2] for this to work. Prior to PHP 8.0.0, you may be out of luck, and need to workaround. [1] <https://www.php.net/supported-versions.php> [2] <https://www.php.net/manual/en/com.configuration.php#ini.com.dotnet-version> Previous Comments: ------------------------------------------------------------------------ [2009-07-08 12:09:04] 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". ------------------------------------------------------------------------ [2009-07-08 11:53:20] 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 ------------------------------------------------------------------------ [2008-10-24 10:39:56] bjori@php.net reclassified. ------------------------------------------------------------------------ [2008-10-03 13:08:31] mark at koalit dot dk Forgot to include PHP version (5.2.6) ------------------------------------------------------------------------ [2008-10-03 13:07:10] 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 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=46224&edit=1

« previous php.bugs (#235612) next »