Bug #72922 [Opn->Fbk]: COM called from PHP does not return out parameters
| From: | ab@php.net | Date: | Mon, 22 Aug 2016 17:04:22 +0000 |
| Subject: | Bug #72922 [Opn->Fbk]: COM called from PHP does not return out parameters | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-203495@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=72922&edit=1
ID: 72922
Updated by: ab@php.net
Reported by: mistr111 at yahoo dot com
Summary: COM called from PHP does not return out parameters
-Status: Open
+Status: Feedback
Type: Bug
Package: COM related
Operating System: Windows Server 2008 R2 Standard
PHP Version: 7.0.10
Block user comment: N
Private report: N
New Comment:
Thanks for the report. Please post the test class, or better a test project, along with the way you
register the class and other setup. Also need the current/expected output to compare.
Thanks.
Previous Comments:
------------------------------------------------------------------------
[2016-08-22 14:55:50] mistr111 at yahoo dot com
Description:
------------
I have a problem concerning COM support in PHP 7.
I have been using COM called from PHP applications for a very long time.
After calling new COM(... , I used to call methods with several in/out parameters.
The result is used just to check status of the call but data is extracted from in/out parameters.
Everything has worked just fine in different PHP versions for almost a decade till I tried PHP 7.
I am able to call methods and can access results without problems, but in/out parameters stay the
same after the call.
I carried out tests on the same machine with PHP 5.6 and everything worked OK.
When I switched to PHP 7 or beta PHP 7.1, output parameters were unaffected only result was
correctly filled out.
(It did not matter whether I used 32-bit or 64-bit versions).
I used Windows Server 2008 R2 Standard for testing.
Binaries for PHP from http://windows.php.net/download/ and http://windows.php.net/qa/ (PHP 7.0.10 - VC14 x86 Thread Safe,
VC14 x64 Thread Safe and PHP 7.1.0 beta2)
For Apache from https://www.apachelounge.com/download/ (Apache
2.4.23 Win64, Apache 2.4.23 Win32)
with appropriate,latest C++ Redistributables installed
I combined 32-bit versions of COM, Apache, PHP and then 64-bit versions with the same result.
Test script:
---------------
<?php
$comTest = new COM("comTest.comTestIF") or die("Unable to instantiate comTest");
$parIn="111";$parOut1="";$parOut2="";
$result = $comTest->test($parIn,$parOut1,$parOut2);
// after the call $parOut1,$parOut2 parameters are unaffected although they are changed inside com.
Only result is correct
?>
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=72922&edit=1