|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull Requests
Pull requests:
HistoryAllCommentsChangesGit/SVN commits
[2010-02-03 19:03 UTC] marc at parknpool dot com
[2011-12-19 09:56 UTC] hendri dot cacem at gmail dot com
[2014-03-04 12:50 UTC] melvingroenhoff at gmail dot com
[2020-08-04 14:32 UTC] cmb@php.net
-Status: Open
+Status: Analyzed
-Assigned To:
+Assigned To: cmb
[2020-08-04 14:32 UTC] cmb@php.net
[2020-08-04 16:29 UTC] cmb@php.net
[2020-08-11 09:29 UTC] cmb@php.net
[2020-08-11 09:29 UTC] cmb@php.net
-Status: Analyzed
+Status: Closed
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Oct 30 22:00:01 2025 UTC |
Description: ------------ com_load_typelib successfully loads a type library defintitions on its first call. It fails on the second call, and the previous definitions disappear. Other points: First call holds a reference to the type library which does not get released until the web server (Apache 2.2) is stopped. If you're creating define()'s, why do you need to hold a library reference - you could load the types then release the references? This behaviour is the same when php.ini contains 'com.autoregister_typelib=1', instead of calling com_load_typelib. Reproduce code: --------------- This uses a private COM object, but if you want a copy it's no problem. //////////////////////////// function test() { com_load_typelib('{8F387CCB-379F-4F13-9470-9D04DF3B04F8},1,0'); $domain = ''; $dns = 'some_user@domain.com'; $wincall = new COM('wincall.wincall'); $snu = $wincall->LookupAccount('', $dns, $domain); echo 'SidTypeUser == ' . SidTypeUser . "<br />\r\n"; } test(); ///////////////////////////// Run this script twice... Expected result: ---------------- // first call of script: SidTypeUser == 1 // second call of script: SidTypeUser == 1 Actual result: -------------- // first call of script: SidTypeUser == 1 // second call of script: SidTypeUser == SidTypeUser