Bug #72922 [Opn->Fbk]: COM called from PHP does not return out parameters

From: 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

« previous php.bugs (#203495) next »