|   | 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 Group All rights reserved. | Last updated: Fri Oct 31 00: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