Bug #77503 [Opn->Csd]: COM does not work in v5.6
| From: | pch at astrowin dot org | Date: | Sat, 26 Jan 2019 19:21:20 +0000 |
| Subject: | Bug #77503 [Opn->Csd]: COM does not work in v5.6 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-219225@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=77503&edit=1
ID: 77503
User updated by: pch at astrowin dot org
Reported by: pch at astrowin dot org
Summary: COM does not work in v5.6
-Status: Open
+Status: Closed
Type: Bug
Package: Unknown/Other Function
Operating System: Windows 8.1
PHP Version: 7.2
Block user comment: N
Private report: N
New Comment:
Close this report.
Previous Comments:
------------------------------------------------------------------------
[2019-01-26 02:04:08] ab@php.net
@pch at astrowin dot org, this doesn't sound right. Please check what i've asked you to
before sending files. Thanks.
------------------------------------------------------------------------
[2019-01-26 01:53:22] pch at astrowin dot org
I am e-mailing you directly at ab@php.net. I can send you a .zip file with the DLL and a test
script. It does not appear this forum allows attachments.
------------------------------------------------------------------------
[2019-01-25 11:44:54] ab@php.net
Where do you run phpinfo(). WAMP distributions often use different php.ini for console and web
server bins. Please check that, too.
Also, if the assembly you use is 32-bit - use 32-bit binaries of PHP. Same for 64-bit.
To register your assembly, use
regsvr32 c:\path\to\my.dll. If you can share your
assembly dll, i could check it, too.
Hopefully that clarifies a bit more.
Thanks.
------------------------------------------------------------------------
[2019-01-24 19:39:31] pch at astrowin dot org
>> var_dump(class_exists('COM'));
Returns True for PHP v5.4 and PHP v5.6.
>> This is almost certainly caused by the php_com_dotnet.dll not
being loaded
I'll say it for the 3rd time, phpinfo() says that the com_dotnet extension is loaded and
active.
>> This might be a 32bit vs. 64bit issue (aka x86 vs x64).
I don't understand this comment when the two PHP versions are both run on the same Windows 8.1
64-bit machine, and XAMPP has been set up with the 64-bit versions.
I realize it is difficult to "debug" something without it right in front of you. But
can't someone take a .dll and test the COM function in different PHP versions, just as I am
doing? I suspect you will see what I am talking about.
In any case, for my local system, I'm thinking, "Why do I need to waste my time working
with PHP v5.6 - v7.2 when they don't work like v5.4?" The only reason I need this DLL is
because using exec() with Windows is very slow because of the forking that Windows does. If I could
get rid of that, then I would not need the DLL, which works at least 10 times faster than exec() on
Windows.
------------------------------------------------------------------------
[2019-01-24 12:31:30] cmb@php.net
> "Class not registered"
This might be a 32bit vs. 64bit issue (aka x86 vs x64).
> Fatal error: Class 'COM' not found
This is almost certainly caused by the php_com_dotnet.dll not
being loaded (like @nikic already suggested). Try something like:
var_dump(class_exists('COM'));
Also note that only PHP-7.2 and up will receive non-security
related bug fixes.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=77503
--
Edit this bug report at https://bugs.php.net/bug.php?id=77503&edit=1