ID: 46224
Comment by: p dot stankowski at transcomp dot pl
Reported By: mark at koalit dot dk
Status: Open
Bug Type: COM related
Operating System: Vista Business SP1 (da)
PHP Version: 5.2.6
New Comment:
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".
Previous Comments:
------------------------------------------------------------------------
[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] [email protected]
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 http://bugs.php.net/?id=46224&edit=1