Edit report at http://bugs.php.net/bug.php?id=53578&edit=1
ID: 53578 Comment by: tanguy dot pruvot at gmail dot com Reported by: tanguy dot pruvot at gmail dot com Summary: php_curl init time (3 big seconds) Status: Closed Type: Bug Package: cURL related Operating System: Win7/Vista x86 PHP Version: 5.3.5 (Since 5.2.14/5.3) Assigned To: pajoye Block user comment: N Private report: N New Comment: And the openssl module do the library init : PHP_MINIT_FUNCTION(openssl) ... SSL_library_init(); Previous Comments: ------------------------------------------------------------------------ [2011-05-06 17:26:46] tanguy dot pruvot at gmail dot com The docs might be a bit sparse in this ares, yes. But the SSL bit should be set unless you have initialized the OpenSSL library already in some other way. ------------------------------------------------------------------------ [2011-05-06 17:24:44] tanguy dot pruvot at gmail dot com It is also possible to fix that in extension code, in interface.c by replacing CURL_GLOBAL_SSL by CURL_GLOBAL_WIN32... if (curl_global_init(CURL_GLOBAL_WIN32) != CURLE_OK) { return FAILURE; } Related messages : http://osdir.com/ml/web.curl.general/2004-05/msg00068.html http://curl.haxx.se/mail/lib-2004-06/0133.html ------------------------------------------------------------------------ [2011-05-06 17:00:23] tanguy dot pruvot at gmail dot com Here is the call stack on PHP 5.3.6 VC9 : 008BF5E8 1004903E RETURN to libeay32.OpenSSL_add_all_digests+13E from libeay32.EVP_add_digest 008BF5EC 6D553C3A RETURN to MSVCR90.6D553C3A from MSVCR90.6D55CF25 008BF5F0 D1F10C83 008BF5F4 02079948 008BF5F8 1003FE95 RETURN to libeay32.1003FE95 from libeay32.RAND_poll 008BF5FC 6724EFA9 RETURN to php_curl.6724EFA9 from php_curl._RAND_screen 008BF600 67237DEB RETURN to php_curl.67237DEB from php_curl._Curl_ssl_init 008BF604 5D660FB0 php5ts.tsrm_mutex_alloc 008BF608 67235D71 RETURN to php_curl.67235D71 from php_curl._curl_global_init 008BF60C 00000001 008BF610 5DB76E20 offset php5ts.module_registry 008BF614 02142E90 008BF618 00000000 008BF61C 5D585EB1 RETURN to php5ts.5D585EB1 008BF620 00000001 008BF624 00000020 008BF628 02142E90 008BF62C 5DB76E20 offset php5ts.module_registry 008BF630 02079908 008BF634 00000000 008BF638 02142E90 008BF63C 5D612FBF RETURN to php5ts.5D612FBF 008BF640 02079948 008BF644 02142E90 008BF648 00000000 008BF64C 02142E90 008BF650 02142E90 008BF654 0000000A 008BF658 5D585FE9 RETURN to php5ts.5D585FE9 from php5ts.zend_hash_apply 008BF65C 5DB76E20 offset php5ts.module_registry 008BF660 5D585DE0 php5ts.zend_startup_module_ex 008BF664 02142E90 008BF668 5DB76E20 offset php5ts.module_registry 008BF66C 5D585F30 php5ts.zend_sort_modules 008BF670 00000000 008BF674 00000000 008BF678 02142E90 008BF67C 6D55F16A MSVCR90.getenv 008BF680 5D64314D RETURN to php5ts.5D64314D from php5ts.zend_startup_modules A solution could be to prevent SSL initialization on module load, and only do it on first SSL request... ------------------------------------------------------------------------ [2011-04-14 14:37:12] paj...@php.net CRT has nothing to do with win2000 compatibility, which was killed anyway with the release of 5.3.0. It is nice and shiny to say than VC10 is better, but it was not ready last year in April. ------------------------------------------------------------------------ [2011-04-14 14:32:00] tanguy dot pruvot at gmail dot com Also, its possible to use VC9 to compile with MSCVRT, i had made that for other projects. Borland C++ also compiles with MSCVRT. But we loose Windows 2000 compatibility, working with XP yo Seven. Windows DDK is required to do that.. but to my mind, i think VC10 is a better solution than VC9 ------------------------------------------------------------------------ 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 http://bugs.php.net/bug.php?id=53578 -- Edit this bug report at http://bugs.php.net/bug.php?id=53578&edit=1