| Bug #41350 | Error in my_thread_global_end() | ||||
|---|---|---|---|---|---|
| Submitted: | 10 May 2007 12:12pm UTC | Modified: | 3 Mar 12:14am UTC | ||
| From: | graham at directhostinguk dot com | Assigned to: | scottmac | ||
| Status: | No Feedback | Category: | MySQL related | ||
| Version: | 5.2.6 | OS: | * | ||
| Votes: | 289 | Avg. Score: | 4.6 ± 0.8 | Reproduced: | 272 of 272 (100.0%) |
| Same Version: | 156 (57.4%) | Same OS: | 171 (62.9%) | ||
[10 May 2007 12:12pm UTC] graham at directhostinguk dot com
[18 May 2007 10:30am UTC] e_remove_paine at lastfrontiers dot com
With PHP5.2.2, and MySQL5.0.41 under Windows XP (IIS5.1) I can reproduce this by simply creating a normal html page (no php tags) with a .php extension. Error in my_thread_global_end(): 1 threads didn't exit
[29 May 2007 5:04pm UTC] php at stock-consulting dot com
I receive the message as well, when running PHP 5.2.2 from the command line, so definitely no IIS-related issue. The php_mysql.dll is loaded as an extension, but no functions from the library are called by the application, so most likely no MySQL issue. The message appeared after the PHP version update; no MySQL update was performed. A clear indication, IMHO, the something went wrong on the PHP side.
[31 May 2007 8:15am UTC] louis at steelbytes dot com
repro on win2k3. reverting libmysql.dll to 5.2.1 fixes it.
[12 Jun 2007 4:31pm UTC] chris at crgs dot co dot uk
Still a problem on PHP 5.2.3 under Windows Server 2003 / IIS 6 / MySQL 5.0.41. Can be fixed by copying libmysql.dll from PHP 5.2.1. Seems as if neither side wants to take ownership of the bug. MySQL people seem to say it's a PHP issue (see http://bugs.mysql.com/bug.php?id=25621), but not much seems to be happening here. Can someone please fix this bug before the next release of PHP?
[15 Jun 2007 4:19am UTC] louis at steelbytes dot com
see http://bugs.mysql.com/bug.php?id=25621 for mysql bug report on same prob
[18 Jun 2007 7:33pm UTC] curthenderson at hotmail dot com
I have found that this error will come up if you are using short php opening tags <? and do not have that option turned on in your php.ini.
[19 Jun 2007 4:26pm UTC] chris at crgs dot co dot uk
Re short_open_tag option I have tested on my server with short_open_tag set to both 'on' and 'off' and get this problem whatever happens with PHP 5.2.3. The error occurs even with this page: <?php phpinfo(); ?>
[20 Jun 2007 3:08pm UTC] scottmac@php.net
Is everyone running a CGI implementation or ISAPI?
[21 Jun 2007 10:51am UTC] chris at crgs dot co dot uk
Am using CGI here (php-cgi.exe in IIS6) There appears to be some action on the MySQL bug...
[24 Jun 2007 9:37am UTC] ysangkok at gmail dot com
I'm experiencing the same problem with 5.2.3. Using CGI on IIS5. I fixed it by using the dll from 5.2.1.
[26 Jun 2007 11:38am UTC] maxfm at abv dot bg
Just go to the end of php.ini Change: [PHP_MYSQL] extension=php_mysql.dll to: ;[PHP_MYSQL] ;extension=php_mysql.dll Then go to: ;extension=php_mysql.dll and enable it: extension=php_mysql.dll
[26 Jun 2007 12:00pm UTC] scottmac@php.net
Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows (zip): http://snaps.php.net/win32/php5.2-win32-latest.zip For Windows (installer): http://snaps.php.net/win32/php5.2-win32-installer-latest.msi I've committed a fix that should have resolved this.
[28 Jun 2007 10:02am UTC] chris at crgs dot co dot uk
Scott is already aware of this, but I tried the snapshot from 12:30 27-06-2007 and it didn't fix the problem. However this might be because the fix from the MySQL bug is necessary as well, and currently the PHP snapshots contain libmysql.dll from PHP 5.0.37 rather than 5.0.45 (which is apparently the one we need). We may need to wait for MySQL to release their new version, and for the new libmysql.dll to make its way across to PHP, before the bug will be 'properly' fixed.
[13 Jul 2007 10:16am UTC] tony2001@php.net
So that we won't forget. http://server.macvicar.net/patches/php-bug41350.patch
[18 Jul 2007 11:27pm UTC] aaronbair at hotmail dot com
CLI and FAST-CGI can not handle persistent MySQL connections. How can an unloaded processes remember a connection? Turn that option off in php.ini and the error goes away. mysql.allow_persistent = Off The real problem here is that this option is set On in php.ini-recommended
[19 Jul 2007 11:16am UTC] ng dot sick dot no at gmail dot com
Tried the latest CVS snaps today (php5.2-win32-200707120030.zip) with php5apache22.dll, MySQL 5.0.45 Server on Windows XP, but Apache 2.2.4's log still shows up: Error in my_thread_global_end(): 1 threads didn't exit
[24 Jul 2007 10:24am UTC] nick dot dixon at gmail dot com
I see the same with 5.2.3 on Windows 2000 whenever php_mysql or php_mysqli (or both) are enabled So either the fault is in both php_mysql.dll AND php_mysqli.dll, or it's a problem with the MySQL client library (libmySQL.dll). Setting mysql.allow_persistent = Off makes no difference. MySQL version is 5.0.45, with the libmySQL.dll copied to a directory that's in the PATH (the PHP ext directory) Minimal test case using PHP cli: php -v PHP 5.2.3 (cli) (built: May 31 2007 09:37:22) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies Now if I run the CLI and send EOF: php ^Z (...pause of about 6 seconds...) Error in my_thread_global_end(): 1 threads didn't exit
[24 Jul 2007 10:45am UTC] scottmac@php.net
Assigning to edink since we need to upgrade the bundled MySQL libraries.
[2 Aug 2007 2:01pm UTC] phpuser at gmail dot com
Please don't forget about php_pdo_mysql.dll!
[8 Aug 2007 1:23am UTC] xavier at codewordx dot com
So, it looks like this problem has not been fixed. Has it? Is there a CVS snap to php 521? Or can somebody just email me the correct libmysql.dll? It would be great to finally fix this issue. Thanks, Xavier
[14 Aug 2007 9:45pm UTC] sghasemi at mail dot com
I am getting this error using the PHPMailer to send SMTP e-mails on a Windows XP PC. It send the mail OK but at the end gives me the error: "Error in my_thread_global_end(): 1 threads didn't exit" Any ideas?
[16 Aug 2007 6:38am UTC] a at asdf dot com
I get this bug when running a Wiki, through IIS6 on Win2k3. I get 3-4 threads didn't exit. Other than that, the Wiki works fine. I am using MySQL, but I was getting it yesterday, when I was using PostgreSQL. (insert DA-duh--DUMMM!!! sound for extra suspense). Setting the mysql_allow_persistent variable to off makes no difference for me either. I replaced the libmysql.dll with one from PHP5.2.1, but then the Wiki reported that it couldn't access php_mysql.dll because access is denied. I replaced the file again and rebooted the server and that problem is gone, but I'm still getting 3-4 threads didn't exit. I tried replacing the file again, and get an exception with a huge stack trace, so I went back to using the 5.2.3 file. Btw, Win2k3 and PHP5 are both 64bit installs. Also, YOU IDIOTS! Spelling out your email address (ie. dudeguy at domain dot tld) is *not* going to fool an email address harvester! You need to be more creative! dude%guy-@7-h0tXmail-d_ot/c*m
[19 Aug 2007 7:27am UTC] thorsten at phpmyfaq dot de
This bug is still occurs in PHP 5.2.4-RC2 because libmysql.dll is still the wrong one. It works with libmysql.dll taken from MySQL 5.0.45.
[19 Aug 2007 12:12pm UTC] scottmac@php.net
Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows (zip): http://snaps.php.net/win32/php5.2-win32-latest.zip For Windows (installer): http://snaps.php.net/win32/php5.2-win32-installer-latest.msi The libraries were updated yesterday afternoon to 5.0.45.
[21 Aug 2007 4:13pm UTC] romain dot burot at laposte dot net
I try this CVS snapshot And I've got the same problem... And I don't use Mysql Database I'm with win2003SP2 with IIS6 PHP Version 5.2.3 Not Isapi but CGI mysqli MysqlI Support enabled Client API library version 5.0.45 Client API header version 5.0.45 MYSQLI_SOCKET /tmp/mysql.sock Directive Local Value Master Value mysqli.default_host no value no value mysqli.default_port 3306 3306 mysqli.default_pw no value no value mysqli.default_socket no value no value mysqli.default_user no value no value mysqli.max_links Unlimited Unlimited mysqli.reconnect Off Off
[21 Aug 2007 4:37pm UTC] scottmac@php.net
Does your phpinfo show 5.2.3 or 5.2.4-RC2? The MySQL library version looks correct but the code to correctly use the library wasn't added until after 5.2.3 was released.
[22 Aug 2007 1:38am UTC] ng dot sick dot no at gmail dot com
Looks like for some reason, the Client API library version of the snap is 5.0.24. PHP Version 5.2.4RC3-dev Build Date Aug 21 2007 20:03:47 Loaded Configuration File C:\php\php.ini mysql MySQL Support enabled Active Persistent Links 0 Active Links 0 Client API version 5.0.24 Directive Local Value Master Value mysql.allow_persistent On On mysql.connect_timeout 60 60 mysql.default_host no value no value mysql.default_password no value no value mysql.default_port no value no value mysql.default_socket no value no value mysql.default_user no value no value mysql.max_links Unlimited Unlimited mysql.max_persistent Unlimited Unlimited mysql.trace_mode Off Off mysqli MysqlI Support enabled Client API library version 5.0.24 Client API header version 5.0.45 MYSQLI_SOCKET /tmp/mysql.sock Directive Local Value Master Value mysqli.default_host no value no value mysqli.default_port 3306 3306 mysqli.default_pw no value no value mysqli.default_socket no value no value mysqli.default_user no value no value mysqli.max_links Unlimited Unlimited mysqli.reconnect Off Off
[22 Aug 2007 3:38pm UTC] dj02 dot net at nbl dot fi
I updated to: 5.2.4RC3-dev (08-22-2007, SNAP). And libraries are updated. ---------------------------------------------------- mysql ---------- MySQL Support enabled Active Persistent Links 0 Active Links 0 Client API version 5.0.45 Directive Local Value Master Value mysql.allow_persistent On On mysql.connect_timeout 60 60 mysql.default_host no value no value mysql.default_password no value no value mysql.default_port 3306 3306 mysql.default_socket no value no value mysql.default_user no value no value mysql.max_links Unlimited Unlimited mysql.max_persistent Unlimited Unlimited mysql.trace_mode Off Off mysqli ---------- MysqlI Support enabled Client API library version 5.0.45 Client API header version 5.0.45 MYSQLI_SOCKET /tmp/mysql.sock Directive Local Value Master Value mysqli.default_host no value no value mysqli.default_port 3306 3306 mysqli.default_pw no value no value mysqli.default_socket no value no value mysqli.default_user no value no value mysqli.max_links Unlimited Unlimited mysqli.reconnect Off Off
[24 Aug 2007 5:18pm UTC] acosta at mauricio dot net dot ar
Hi, I got this issue with iis 6 in xp os. I install the cvs snapshot you referer, with cgi i got the error, but in isapi appears that it dissapears.
[29 Aug 2007 1:00am UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[31 Aug 2007 6:25pm UTC] phpuser at gmail dot com
Error remains in PHP 5.2.4
[3 Sep 2007 3:29pm UTC] astorni at softhome dot net
I upgraded from 5.0.4 to 5.2.4, and I saw this bug for the first time. But for me, the threads were 7 (no idea what it means): 7 threads didn't exit The page displayed correctly, but did not stop, and after a few seconds of delay I get the message.
[3 Sep 2007 3:48pm UTC] astorni at softhome dot net
For me, it did not help replacing the php_mysql.lib with the old one from versions 5.2.0 or 5.2.1, so I have no workaround.
[5 Sep 2007 12:05pm UTC] lferro at teladigital dot pt
Using PHP Version 5.2.4 and MySQL 5.0.37 community version, on a WinXP box, i got this error. The workaround was just to update the libmySQL.dll that resides in the php directory with the one shipped with the MySQL. Not perfect... but... ;)
[5 Sep 2007 2:40pm UTC] richard at vottle dot com
I am having the same problem with PHP 5.2.4. I have tried replacing libmysql.dll from PHP 5.1.2, and also took the libmysql.dll from my instance of MySQL 5.0.15-nt - nothing is solving the problem except reverting back to PHP 5.1.2 in its entirity.
[5 Sep 2007 7:03pm UTC] richard at vottle dot com
Temporary dyslexia mixed in with too many archived versions of PHP and you are bound to get things mixed up. Taking libmysql.dll from php v 5.2.1 (and not 5.1.2) and replacing the libmysql.dll in php 5.2.2->4 works fine. Would still be nice to have a proper working copy in the actual release though ;)
[10 Sep 2007 5:49am UTC] thorsten at phpmyfaq dot de
This bug still occurs with PHP 5.2.4 and libmysql.dll from PHP 5.2.4 package and from MySQL 5.0.45 package when using ext/mysql.
[10 Sep 2007 10:49pm UTC] scottmac@php.net
ISAPI, CGI, CLI or FCGI? How are you producing it do you have to do anything specific or does everything produce it? I can't reproduce this on my test box apart from with -i / -m but thats since been fixed in CVS by dmitry.
[11 Sep 2007 12:01pm UTC] thorsten at phpmyfaq dot de
It's the Apache 2.0 Handler on my system. We're doing a SELECT query on a really big 2 GB table with PEAR::MDB2 with ext/mysql.
[12 Sep 2007 3:25pm UTC] Chicken at TheMooFarm dot com
This is sucking real hard I am using Mysql Ver5.041-community-nt apache_2.2.4-win32-x86-no_ssl php-5.2.4-win32-installer.msi TRIED ALSO from Mysql's site php_5.2.0_mysqli_5.0.27-win32.zip I do a install of PHP Version 5.2.4 I only enable 3 extensions [PHP_CURL] extension=php_curl.dll [PHP_GD2] extension=php_gd2.dll [PHP_MYSQL] extension=php_mysqli.dll I have tried replacing the Mysql DLL shipping with PHP with the Mysql Connectoid and the DLL that ships with Mysql libmysql.dll The GD2 Extension Loads the Curl and Mysql Dlls CHOKE APACHE ERROR LOG PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\Apache2\\php\\ext\\php_curl.dll' - The specified module could not be found.\r\n in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'D:\\Apache2\\php\\ext\\php_mysqli.dll' - The specified module could not be found.\r\n in Unknown on line 0 If PHP can load GD without problems but it cant load Curl or Mysql or Mysqli It sounds like a problem in the compiled source code
[12 Sep 2007 3:51pm UTC] Chicken at TheMooFarm dot com
Forgot to add PHP was installed by the MIS php-5.2.4-win32-installer.msi but then I copied over the missing DLLs by downloading the ZIP php-5.2.4-Win32.zip why are there missing dlls in the MSI install anyway ?¿? I know I am complaining a lot (this stuff is free after all) but isnt this a release version shouldnt a msi install the dlls heh :o) anyway GD seems to load GD Version bundled (2.0.34 compatible) in phpinfo Hope there is a fix soon lots of people trying to have XP development computers so they can design their CMS / Blog sites really need access to what is working on their servers.
[14 Sep 2007 6:53am UTC] csharp dot net dot 2007 at hotmail dot com
Error in my_thread_global_end(): 1, Error in my_thread_global_end(): 3 I have the same issue. I opened php.ini and disabled the PHP_IISFUNC like this : ;[PHP_IISFUNC] ;extension=php_iisfunc.dll The problem goes away.
[17 Sep 2007 7:16am UTC] thorsten at phpmyfaq dot de
The bug still exists with today's build: zend_mm_heap corrupted Error in my_thread_global_end(): 252 threads didn't exit
[18 Sep 2007 1:00am UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[18 Sep 2007 6:13am UTC] wangyi6854 at sohu dot com
I got the problem on Win2k3, IIS6, php5.2.4 PHP Version 5.2.4 System Windows NT BANDAO-17 5.2 build 3790 Build Date Aug 30 2007 07:05:48 Configure Command cscript /nologo configure.js "--enable-snapshot-build" "--with-gd=shared" Server API CGI/FastCGI Virtual Directory Support enabled Configuration File (php.ini) Path C:\WINDOWS Loaded Configuration File F:\PHP5\php.ini PHP API 20041225 PHP Extension 20060613 Zend Extension 220060519 Debug Build no Thread Safety enabled Zend Memory Manager enabled IPv6 Support enabled Registered PHP Streams php, file, data, http, ftp, compress.zlib Registered Stream Socket Transports tcp, udp Registered Stream Filters convert.iconv.*, string.rot13, string.toupper, string.tolower, string.strip_tags, convert.*, consumed, zlib.* mysql MySQL Support enabled Active Persistent Links 0 Active Links 0 Client API version 5.0.45 Directive Local Value Master Value mysql.allow_persistent On On mysql.connect_timeout 60 60 mysql.default_host no value no value mysql.default_password no value no value mysql.default_port no value no value mysql.default_socket no value no value mysql.default_user no value no value mysql.max_links Unlimited Unlimited mysql.max_persistent Unlimited Unlimited mysql.trace_mode Off Off mysqli MysqlI Support enabled Client API library version 5.0.45 Client API header version 5.0.45 MYSQLI_SOCKET /tmp/mysql.sock Directive Local Value Master Value mysqli.default_host no value no value mysqli.default_port 3306 3306 mysqli.default_pw no value no value mysqli.default_socket no value no value mysqli.default_user no value no value mysqli.max_links Unlimited Unlimited mysqli.reconnect Off Off Error in my_thread_global_end(): 1 threads didn't exit
[18 Sep 2007 6:58pm UTC] chadworsham at hotmail dot com
Error in my_thread_global_end(): 3 threads didn't exit D:\>ver Microsoft Windows XP [Version 5.1.2600] C:\php5>php.exe -v PHP 5.2.4 (cli) (built: Aug 30 2007 07:06:31) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies Error in my_thread_global_end(): 3 threads didn't exit mysql> status -------------- mysql Ver 14.13 Distrib 6.0.2-alpha, for Win32 (ia32) Does anyone know of a REAL fix?
[19 Sep 2007 7:36pm UTC] phpbug at povaddict dot com dot ar
I'm running: PHP 5.2.4 (cli) (built: Aug 30 2007 07:06:31) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies with mysqli enabled, on a Windows XP machine. A simple way to reproduce it is running php -r "sleep(60);" and pressing Ctrl-C before it quits on its own. It takes over 5 seconds to actually quit, and then displays "Error in my_thread_global_end(): 1 threads didn't exit". Of course, you need some MySQL library enabled in php.ini...
[19 Sep 2007 7:45pm UTC] phpbug at povaddict dot com dot ar
I forgot to mention: MySQL Ver 14.12 Distrib 5.0.45, for Win32 (ia32) I tried renaming the libmysql.dll inside PHP folder and replacing it with the one from MySQL folder, didn't help. I also read somewhere that 5.0.42 should have the fix; obviously that's not the case. Also, derick said on another PHP bug that "We don't call my_thread_init, or anything starting with my_thread." A reply from mysql bug comments: "my_thread_init() is called indirectly from mysql_init()".
[19 Sep 2007 9:27pm UTC] scottmac@php.net
ctrl+c causes a SIGINT which isn't handled by PHP so the module shutdown isn't run and we can't clean up. So that would be expected behaviour. libmysql for 6.0 doesn't work yet as far as I know. Those seeing the error on CGI / FCGI should try a 5.2.5 snapshot as there was another bug that caused module shutdown now to be executed for -v and -i. I need a consistent reproduce case to look further at this. I can't reproduce this with 5.2.5-dev with MySQL 5.0.45 with MySQL, MySQLi and pdo_mysql loaded. Test cases if you please.
[25 Sep 2007 5:54pm UTC] daniel dot gaddis at tlc dot state dot tx dot us
php -v returned the error using PHP 5.2.5-dev (cli) (built: Sep 9 2007 12:04:32). See mysql and apache version info below. F:\php>php -v PHP 5.2.5-dev (cli) (built: Sep 9 2007 12:04:32) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies Error in my_thread_global_end(): 1 threads didn't exit F:\MySQL\bin>mysqladmin --user=xxxx --password=xxxx version mysqladmin Ver 8.41 Distrib 5.0.45, for Win32 on ia32 Copyright (C) 2000-2006 MySQL AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.45-community-nt-log Protocol version 10 Connection localhost via TCP/IP TCP port 3306 Uptime: 9 min 57 sec Threads: 1 Questions: 4 Slow queries: 0 Opens: 12 Flush tables: 1 Open tabl es: 6 Queries per second avg: 0.007 F:\Program Files\Apache Group\Apache>apache.exe -v Server version: Apache/1.3.37 (Win32) Server built: Jul 27 2006 15:23:00
[25 Sep 2007 5:55pm UTC] daniel dot gaddis at tlc dot state dot tx dot us
php -v returned the error using PHP 5.2.5-dev (cli) (built: Sep 9 2007 12:04:32). See mysql and apache version info below. F:\php>php -v PHP 5.2.5-dev (cli) (built: Sep 9 2007 12:04:32) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies Error in my_thread_global_end(): 1 threads didn't exit F:\MySQL\bin>mysqladmin --user=xxxx --password=xxxx version mysqladmin Ver 8.41 Distrib 5.0.45, for Win32 on ia32 Copyright (C) 2000-2006 MySQL AB This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to modify and redistribute it under the GPL license Server version 5.0.45-community-nt-log Protocol version 10 Connection localhost via TCP/IP TCP port 3306 Uptime: 9 min 57 sec Threads: 1 Questions: 4 Slow queries: 0 Opens: 12 Flush tables: 1 Open tabl es: 6 Queries per second avg: 0.007 F:\Program Files\Apache Group\Apache>apache.exe -v Server version: Apache/1.3.37 (Win32) Server built: Jul 27 2006 15:23:00
[26 Sep 2007 10:29am UTC] chris at crgs dot co dot uk
Have just tried the latest PHP 5.2 snapshot from http://snaps.php.net/ - *still* doesn't work. I am reproducing this on the most basic machine I can, a Windows 2000 Professional VM (Virtual PC 2007) with all security updates. There is nothing else on the PC, not even a MySQL install, just PHP (see below for settings), but I am still getting the error. However the error *DOES NOT ALWAYS OCCUR*, especially when I just use 'php -v'. Sometimes I have to run this command quite a few times before the error occurs - it comes up maybe 2 times out of 10. When I run it on my main box, outside the virtual machine, 'php -v' doesn't seem to trigger the error much at all: however, using a slightly more complicated command like 'php-cgi test.php' where test.php contains '<?php phpinfo(); ?>' triggers the error more often, even outside the VM. Are we looking at a race condition? Can people post the specification of their boxes as well? Mine is an Intel Pentium D 3.4Ghz (dual core) w/ 2GB RAM. Of course inside the virtual machine there's only one processor, which might explain partly why the error occurs more often inside the VM, although I don't think it's a single/multi-processor issue at heart, as I can still repro the issue on a dual core PC, just less often. Perhaps it's only an issue on slower machines? Scott, what's your spec? Here is what I did: Download php5.2-win32-200709260830.zip from http://snaps.php.net/ Extract to C:\PHP Append ';C:\PHP' to the PATH environment variable Add PHPRC environment variable, set to 'C:\PHP\php.ini' Copy php.ini-recommended to php.ini Change the following settings: extension_dir = "c:\php\ext\" extension=php_mysql.dll Run 'c:\PHP\php-cgi.exe -v' Returns (after a roughly 2 second pause): PHP 5.2.5-dev (cli) (built: Sep 26 2007 04:04:42) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies Error in my_thread_global_end(): 1 threads didn't exit By the way, I also tried setting mysql.allow_persistent = Off, as suggested in some of the comments, but it didn't help in either environment (VM or real).
[26 Sep 2007 1:31pm UTC] w dot ashcroft at redfoxuk dot com
Confirmed on Windows 2003 with IIS6 using MS FastCGI; using libmysql.dll (v5.0.22) from PHP 5.2.1 fixes the problem and massively improves PHP speed globally.
[27 Sep 2007 1:00am UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[28 Sep 2007 2:40pm UTC] ricardo dot rodrigues at istimeless dot pt
Error in my_thread_global_end(): 1 threads didn't exit
I don't think it's a MySQL error, since i'm not using it at all. I have
no active instances of MySQL running. I'm using PHPLIB Templates and the
code is very simple:
<?php
include ("Includes/template.inc");
$index = new Template("Templates");
$index->set_file("f_index", "index.tpl");
$index->set_var("page_title", "INDEX");
$index->parse("o_index", "f_index");
$index->p("o_index");
?>
I'm running PHP 5.4.2 with MySQL 5.0.45, under Windows XP Pro SP2 with
IIS 5.1.
[30 Sep 2007 2:56am UTC] joecosmoj at gmail dot com
By commenting out : ;extension=php_mysql.dll and restarting mysql THE BUG DISAPPEARED dll version=5.2.5.5 Special build descriptor = "-dev"
[30 Sep 2007 12:42pm UTC] 256512 at gmail dot com
To reproduce the error on my setup (Windows XP SP2, PHP 5.2.4): - in php.ini enable any of the following extensions: php_mysql.dll, php_pdo_mysql.dll, php_mysqli.dll - execute "php.exe" on command line - press Ctrl+C After a significant pause (~5 seconds), the error message appears: "Error in my_thread_global_end(): 1 threads didn't exit" Disabling php_mysql.dll, php_pdo_mysql.dll, php_mysqli.dll in php.ini "fixes" the issue (php.exe exits immediately, without any errors). Disabling MySQL extensions eliminates a significant pause (~5 seconds) at exit with scripts that connect to a PostgreSQL database (yes, PostgreSQL, not MySQL). Without error messages, though. A minimal script to reproduce this, when any of the MySQL extensions are enabled, is a single pg_connect() statement. When MySQL extensions are disabled, the script exits immediately.
[3 Oct 2007 5:14pm UTC] mike at wardfam dot org
Copying libmysql.dll from 5.2.1 fixed this issue for me also. Configuration: Windows 2003 x64 SP2, PHP 5.2.4, CGI/FastCGI
[4 Oct 2007 11:19am UTC] thorsten at phpmyfaq dot de
Hi all, the current PHP 5.2.5-dev package from http://snaps.php.net with the bundled libmysql.dll fixes this issue. Best regards Thorsten
[4 Oct 2007 5:14pm UTC] temp4 at scottpreston dot com
I just tried this and it does not fix the issue. I overwrote and unloaded all DLLs, still 5 second delay.
[5 Oct 2007 10:04am UTC] chris at crgs dot co dot uk
Confirmed. Have just tried php5.2-win32-200710050830.zip and the problem is not solved. Repro as per my previous post above. Results the same: C:\php>php-cgi.exe -v PHP 5.2.5-dev (cgi-fcgi) (built: Oct 5 2007 04:04:23) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies Error in my_thread_global_end(): 2 threads didn't exit
[9 Oct 2007 8:27pm UTC] cranderson at att dot net
Confirmed. Have just tried php5.2-win32-200710092030.zip and the problem
is not solved.
OS: Windows 2000 Pro
HW: Dual CPU Zeon
Results the same:
C:\php>php-cgi.exe -v
PHP 5.2.5-dev (cli) (built: Oct 9 2007 16:04:34)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
with DBG v3.2.7, (C) 2000,2007, by Dmitri Dmitrienko
Error in my_thread_global_end(): 1 threads didn't exit
Note: Overwriting the files php_mysql.dll, php_mysqli.dll with those
from 5.2.3 works.....
mysql
MySQL Support => enabled
Client API version => 5.0.45
mysqli
MysqlI Support => enabled
Client API library version => 5.0.45
Client API header version => 5.0.36
MYSQLI_SOCKET => /tmp/mysql.sock (this shouldn't be here on Win)
[17 Oct 2007 11:07am UTC] anrdaemon at freemail dot ru
Got the same issue. From short investigation, all executables affected, not only PHP-CGI. Actually, problem in libmySQL bundled with PHP. Please refer to http://bugs.php.net/bug.php?id=43002 for detailed info.
[18 Oct 2007 4:49pm UTC] cranderson at att dot net
anrdaemon, The snapshots being tested here have the 5.0.45 MySQL dll. Also tested with the dll distributed with MySQL. Also checked loaded dlls with a process explorer. The problem is in the php_mysql.dll and php_mysqli.dll. This problem can be duplicated with Win2000Pro, not with XP Pro SP2 or Win2003 Server.
[19 Oct 2007 7:51pm UTC] topgunmm at comcast dot net
This bug also exists for mssql.
[23 Oct 2007 2:38pm UTC] barrp at hcdat dot com
error occurs sending mail but is email address specific. If I send to some emails there is consistantly no error. Other addresses always give the error. The same php code works on my ISP site but not locally. Seems like a setup issue on my box.
[25 Oct 2007 6:24am UTC] itahmed at hotmail dot com
you can download the libmysql.dll to replace the current one that comes with php 5.2.4. this is from the 5.2.1 release that works and take care of the error message. http://www.it-etc.com/2007/10/25/php-error-524-getting-error-error-in-my _thread_global_end-1-threads-didnt-exit/
[25 Oct 2007 9:59am UTC] chris at crgs dot co dot uk
itahmed: We are all aware of this solution, but it's not really a long-term one. Eventually we will *need* to use the latest MySQL libraries, and we need the bug fixed before then.
[25 Oct 2007 10:35am UTC] scottmac@php.net
I can't reproduce this on XP which is the only Windows environment I have for testing. Are the people still experiencing problems on Windows 2000 or 2003?
[25 Oct 2007 12:28pm UTC] noto at ardentsolutions dot co dot za
I tried this and it's not really helping much hey... I also noticed that this causes the pages to load slower (on IE, IE7). On firefox the pages load quicker but the error is there...
[25 Oct 2007 1:54pm UTC] noto at ardentsolutions dot co dot za
My appologies to you all. The fix works great! I'm running MySQL 4.1 and PHP 5.2.4 on XP. My issue was that IE 7 kind of waits for ajax code to finish executing before leaving a page, which is dumb...
[25 Oct 2007 4:06pm UTC] rburghol at vt dot edu
Error occurs with Postgresql, but only if I instantiate a database connection (using pg_connect). Even if I do nothing with the connection AND if I explicitly close the connection (pg_close). Removing the pg_connect makes the error go away, and avoids the ~5 second delay. I would submit that this is not mysql related, since I have disabled the mysql dll. PHP Version: 5.2.4 Via FastCGI System Specs: Windows XP Service Pack 2 Intel P4 2.8 GHz
[25 Oct 2007 5:25pm UTC] rburghol at vt dot edu
My apologies as well, the fix DID work, even though I had disabled mysql in php.ini, and no mysql presence was shown in the phpinfo() output, for some reason, mysql stuff must have been loaded anyhow! (perhaps it is precompiled somewhere in the win executable???) Woohoo! My ajax is now responsive!!!
[30 Oct 2007 10:35am UTC] chris at crgs dot co dot uk
Scott, am having this issue on both XP and Server 2003. What spec machine are you testing on? Can you try this on another machine, or in a virtual machine?
[2 Nov 2007 1:00am UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[2 Nov 2007 7:47pm UTC] ccongdon at congdonweb dot com
Just installed 5.2.4 ISAPI with MySQL and MSSQL installed IIS5 on Windows 2k SP 3 C:\Documents and Settings\Administrator>d:\php\php -v PHP 5.2.4 (cli) (built: Aug 30 2007 07:06:31) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies Error in my_thread_global_end(): 1 threads didn't exit
[13 Nov 2007 11:17pm UTC] bobbyb98 at gmail dot com
5.2.5 on Windows 2003 Server having the same problem Was running 5.1.2 fine, and the upgrade isn't allowing any mysql connections. It appears even though everything is set in the PHP.ini for it to be loaded, it isn't loading. Not showing up on the phpinfo page or available to any programs.
[14 Nov 2007 6:38pm UTC] jamesvl at trinitylight dot com
I'm experiencing this on PHP 5.2.5-nts on Windows 2003. Web server doesn't matter since I see the bug just by running "php -m" on the command line. Enabling either php_mysql.dll or php_mysqli.dll in php.ini causes the bug to appear. Sometimes it takes several runs for "php -m" before I get the delay and then the "Error in my_thread_global_end(): 1 threads didn't exit" message. Can't use the "fix" to downgrade to an earlier version of libmysql.dll unless a non-threadsafe compile is available somewhere...
[20 Nov 2007 4:40pm UTC] dkeller at uh dot edu
I'm using php 5.2.5 through cgi on iis6 and windows 2003 server. I still get the my_thread_global_end() error. Turning of mysql persistent connections in php.ini had no effect. Rolled back to libmysql.dll 5.0.22, but that obviously is not the answer. Any ideas what should be done for this? My superiors are starting to get a little antsy about this situation, and "php says it's mysql's fault and vice versa" isn't helping. I'll give any information that can help. Thanks for all the work.
[23 Nov 2007 12:43pm UTC] andrewm at rochester dot rr dot com
I tried every suggestion on this page to fix this problem (Error in my_thread_global_end(): 1 threads didn't exit) and nothing helped me. It was php_imap.dll that was ther culprit for me. I commented that out in php.ini and everything works great now. Now hopefully I won't need imap before this is fixed.
[27 Nov 2007 9:53pm UTC] michael at chunkycow dot com dot au
Does anyone know if switching to the new ND driver will fix this?
[3 Dec 2007 6:55am UTC] bjohnso1 at usc dot edu dot au
Don't know if anyone else can relate to this, but I had PHP (5.2.4) working with Apache 2.2.4 with no problems. It was a little while ago now so I'm not absolutely certain of the event sequence, but I'm reasonably sure I installed mySQL 5.0.45 at the same time and saw it come up in the <?php phpinfo(); ?> test script page I created. I've since started working with mySQL AND installed mySQL Administrator (or the whole tools collection) and now have the error referred to in this bug. So, I'm reasonably certain that this bug only affected me after installing the Administrator/Query Browser/etc toolset. Uninstalling the toolset (GUI tools) did not remedy the problem. Hope this helps. Ben Johnson.
[4 Dec 2007 1:45am UTC] jp at chicagowebexperts dot com
Windows XP, PHP 5.2.5, same issue: "Error in my_thread_global_end(): 1 threads didn't exit" Typically "1" thread, but sometimes 3. Running as a CGI. Problem manifests even if no calls to any MySQL function are made. Problem disappears if "extension=php_mysql.dll" is commented out. Noticed that the behavior becomes less frequent (or disappears entirely) the more that your page outputs. Have a "controller.php" file doing only back-end processing, no client output; bug appears 100% of the time. Noticed that my index.php file never failed (about 60 lines of HTML outputted), so for the heck of it, put in <? exit; ?> at the very top. Problem occurs 100% of the time. Problem never occurs in a PHP file consisting only of <? phpinfo(); ?> (short tags enabled in php.ini). Created a small test.php file consisting only of HTML (open and close HTML tags, and 512 bytes of data). Problem occurs ~20-30% of the time. Interestingly enough, I noticed that if I refresh the test.php page quickly enough, I get back an HTTP 403.9: "The page cannot be displayed. There are too many people accessing the Web site at this time." I've never received that error before under any other condition. In actuality, when this occurs, the number of times I'd refreshed the page is really pretty low (five or six), and the refreshes aren't done all that fast, relatively speaking.
[4 Dec 2007 12:40pm UTC] webmaster at cosmicperl dot com
!!SOLUTION!! !!SOLUTION!! If you download the latest PHP - MySQL connector files direct from MySQL this problem goes away:- http://dev.mysql.com/downloads/connector/php/ Why hasn't PHP updated to these latest files?!?!? !!SOLUTION!! !!SOLUTION!!
[5 Dec 2007 12:53pm UTC] ulmer at energieagentur dot nrw dot de
The version of the mysql extension at http://dev.mysql.com/downloads/connector/php/ is 5.0.27 right now which seems to be quite old. The Changelog date is 2006-11-17, so it is more than a year old! Installing this version is NOT a solution for me.
[7 Dec 2007 1:47pm UTC] jean-yves dot deleze at crealp dot vs dot ch
I recently installed PHP 5.2.5 on Windows and the error was still there (MySQL version 5.0.45). The only way to remove the error was to use old versions of php_mysql(i).dll or libmysql.dll (<= 5.0.27). Today I downloaded MySQL 5.0.51 Win32 sources, I compiled the libmysql.dll library and replaced the one shiped with PHP 5.2.5. This solved the problem.
[10 Dec 2007 4:21pm UTC] m dot bariola at prodigiweb dot it
Hi, I experienced this problem too and still am. however I might give some info that might move the focus to a different point. Reading the comments, I see that some people are experiencing it with or without mySQL, or on imap, solving with older lib version, etc. I have two winXP systems both running the same XAMPP version (1.6.4). I have no problems on my home PC, so I repeated the configuration on the work PC. easy as repeating the XAMPP installation with same paths as home, then copying the apache conf folder from home, and modifying the Path variable so that it will look for executables in c:\xampp\php also. basically, exactly the same as home, but the work PC does not work, while the home installation has no such problems. hope this helps in finding the real cause of the problem.
[17 Dec 2007 10:44am UTC] scratch65535 at att dot net
I'm in the throes of converting from PHP 4 and MySQL 4 to PHP 5.2.5 and MySQL 5.0.45 on my W2K dev machine. So I'm moving to latest-and-greatest code on both sides, and was quite surprised, also dismayed, to see this my_thread bug.
[21 Dec 2007 2:46am UTC] ekarudito at gmail dot com
i have error too... using apache 2.2.4 php 5.2.1 (windows XP) mysql 5.0.37 i have this error when using stored procedure.. in php script and show this error in error log in apache.. and i think's maybe.. caused by bind_result function.. (using mysqli) because when i comment this function, mozzila can work normally although it show few of warning ....
[23 Dec 2007 6:57pm UTC] cappytoi at yahoo dot com
Replacing the php5.2.1/libmysql.dll is fixed my problem with ISS 6 with ISAPI on Win2003. http://www.it-etc.com/wp-content/uploads/2007/10/php_520_libmysqldll_win 32.zip
[28 Dec 2007 7:46am UTC] jungno at gmail dot com
i had the same bug Error in my_thread_global_end(): 3 threads didn't exit I replaced old libmysql.dll file with the new file from the file php_5.2.0_mysql_5.0.27-win32.zip my file with the bad libmysql.dll file was from the file php-5.2.5-win32-installer.msi running IIS5.1 on winxp2 and php5.2.5
[3 Jan 2008 4:18pm UTC] stalin dot gsk at gmail dot com
Include($header) and function fputs($csvf, "string") not detecting by PHP 5.2.3 Iam using WIN NT server with IIS 6 Error msg: Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.;./includes;./pear') in C:\Inetpub\vhosts\shopinonline.co.in\cgi-bin\checkout.php on line 61 Iam adding the code below plz check if any thing can be done to make it work advanced thanks for those who can try helping me site was launched and this shopping is making plz help soon. PHP code: checkout.php <? //=====================================================================| | // NOP Design JavaScript Shopping Cart || // PHP SCRIPT Checkout Module || // || // For more information on SmartSystems, or how NOPDesign can help you || // Please visit us on the WWW at http://www.nopdesign.com || // || // Javascript portions of this shopping cart software are available as || // freeware from NOP Design. You must keep this comment unchanged in || // your code. For more information contact FreeCart@NopDesign.com. || // || // JavaScript Shop Module, V.4.4.0 || //=====================================================================| | // || // Function: Writes available form elements from the NOP || // Free Cart (http://www.nopdesign.com/freecart) || // and other form elements to an email file, and || // send user confirmation || // || //=====================================================================| | //###################################################################### // # // User defined variables: # // $header - string value containing the complete # // path of the HTML page header # // $footer - string value containing the complete # // path of the HTML page footer # // $youremail - string value containing the email address to # // send catalog orders in EMAIL or BOTH modes # // $returnpage - URL to send user when checkout is complete # // $csvfilename - string value containing the complete # // path of the user database. # // $csvquote - string value containing what to use for quotes # // in the csv file (typically "" or \") # // $mode - string value containing 'EMAIL', 'FILE' or # // 'BOTH' to determine if the script should send # // an email to you with the new order, write the # // order to a CSV file, or do both. # //###################################################################### $header = "header.html"; $footer = "footer.html"; $returnpage = "thankyou.html"; $youremail = "support@shopinonline.co.in"; $csvfilename = "orders.csv"; $csvquote = "\"\""; $mode = "BOTH"; //############################################################## //#FUNCTION: doFormError # //#RETURNS: # //#PARAMETERS: A error message string. # //#PURPOSE: Generates an HTML page indicating a form # //# submission error occurred. # //############################################################## function doFormError($errString) { include($header); echo "<FONT SIZE=+2>The form you submitted was not complete.<BR><BR></FONT>"; echo "$errString<BR><BR>\n"; echo "<INPUT TYPE=BUTTON ONCLICK='history.back()' VALUE=' Return to the checkout page '><HR>"; include($footer); exit; } //############################################################## //#FUNCTION: doError # //#RETURNS: # //#PARAMETERS: A error message string. # //#PURPOSE: Generates an HTML page indicating an error # //# occurred. # //############################################################## function doError($errString) { include($header); echo "$errString<BR><BR>\n"; include($footer); exit; } //############################################################## //############################################################## //### MAIN ### //############################################################## //############################################################## if (($b_conf == "") || ($b_first == "") || ($b_last == "") || ($b_addr == "") || ($b_city == "") || ($b_state == "") || ($b_zip == "") || ($b_phone == "") || ($b_email == "")) { doFormError("I'm sorry, but it appears that you forgot to fill in a required field. Please go <A HREF='Javascript:history.go(-1);'>back</A> and correct the error."); exit; } //# checks for valid email address if( !(ereg("^(.+)@(.+)\\.(.+)$",$b_email)) ) { doFormError("You submitted an invalid email address. Please go <A HREF='Javascript:history.go(-1);'>back</A> and correct the error."); exit; } $today = date ("l, F jS Y"); $strMessageBody = ""; $strMessageBody .= "A new order has been received. A summary of this order appears below.\n"; $strMessageBody .= "\n"; $strMessageBody .= "Order Date: $today \n"; $strMessageBody .= " \n"; $strMessageBody .= "Bill To: \n"; $strMessageBody .= "-------- \n"; $strMessageBody .= " $b_first $b_last \n"; $strMessageBody .= " $b_addr \n"; $strMessageBody .= " $b_addr2 \n"; $strMessageBody .= " $b_city, $b_state $b_zip \n"; $strMessageBody .= " $b_phone \n"; $strMessageBody .= " $b_fax \n"; $strMessageBody .= " $b_email \n"; $strMessageBody .= " \n"; $strMessageBody .= " \n"; $strMessageBody .= "Ship To: \n"; $strMessageBody .= "-------- \n"; $strMessageBody .= " $s_first $s_last \n"; $strMessageBody .= " $s_addr \n"; $strMessageBody .= " $s_addr2 \n"; $strMessageBody .= " $s_city, $s_state $s_zip \n"; $strMessageBody .= " $s_phone \n"; $strMessageBody .= " \n"; $strMessageBody .= " \n"; $strMessageBody .= "Qty Price(\$) Product ID - Product Name\n"; $strMessageBody .= "===================================================================== \n"; $strMessageBody .= "$QUANTITY_1 \$$PRICE_1 $ID_1 - $NAME_1 $ADDTLINFO_1 \n"; if( $NAME_2 ) {$strMessageBody .= "$QUANTITY_2 \$$PRICE_2 $ID_2 - $NAME_2 $ADDTLINFO_2 \n";} if( $NAME_3 ) {$strMessageBody .= "$QUANTITY_3 \$$PRICE_3 $ID_3 - $NAME_3 $ADDTLINFO_3 \n";} if( $NAME_4 ) {$strMessageBody .= "$QUANTITY_4 \$$PRICE_4 $ID_4 - $NAME_4 $ADDTLINFO_4 \n";} if( $NAME_5 ) {$strMessageBody .= "$QUANTITY_5 \$$PRICE_5 $ID_5 - $NAME_5 $ADDTLINFO_5 \n";} if( $NAME_6 ) {$strMessageBody .= "$QUANTITY_6 \$$PRICE_6 $ID_6 - $NAME_6 $ADDTLINFO_6 \n";} if( $NAME_7 ) {$strMessageBody .= "$QUANTITY_7 \$$PRICE_7 $ID_7 - $NAME_7 $ADDTLINFO_7 \n";} if( $NAME_8 ) {$strMessageBody .= "$QUANTITY_8 \$$PRICE_8 $ID_8 - $NAME_8 $ADDTLINFO_8 \n";} if( $NAME_9 ) {$strMessageBody .= "$QUANTITY_9 \$$PRICE_9 $ID_9 - $NAME_9 $ADDTLINFO_9 \n";} if( $NAME_10 ){$strMessageBody .= "$QUANTITY_10 \$$PRICE_10 $ID_10 - $NAME_10 $ADDTLINFO_10 \n";} if( $NAME_11 ){$strMessageBody .= "$QUANTITY_11 \$$PRICE_11 $ID_11 - $NAME_11 $ADDTLINFO_11 \n";} if( $NAME_12 ){$strMessageBody .= "$QUANTITY_12 \$$PRICE_12 $ID_12 - $NAME_12 $ADDTLINFO_12 \n";} if( $NAME_13 ){$strMessageBody .= "$QUANTITY_13 \$$PRICE_13 $ID_13 - $NAME_13 $ADDTLINFO_13 \n";} $strMessageBody .= "===================================================================== \n"; $strMessageBody .= "SUBTOTAL: $SUBTOTAL \n"; $strMessageBody .= "TOTAL: $TOTAL \n"; $strMessageBody .= "\n"; $strMessageBody .= "FREIGHT: $SHIPPING \n"; $strMessageBody .= "\n\n"; $strMessageBody .= "Comments: \n"; $strMessageBody .= "--------- \n"; $strMessageBody .= "$comment \n"; $strMessageBody .= " \n"; if( $mode == "BOTH" || $mode == "EMAIL") { //# Send email order to you... $mailheaders = "From: $b_email\r\n"; $mailheaders .="X-Mailer: PHP Mail generated by:NOP Design Shopping Cart\r\n"; $subject = "New Online Order"; mail($youremail, $subject, $strMessageBody, $mailheaders); } if( $mode == "BOTH" || $mode == "FILE") { $csvcomments = $comment; if (!$CSVF = fopen($csvfilename,'a')) { doError("Unable to open CSV file for writing. Your order has not been saved."); exit; } fputs($CSVF, $string); fputs($CSVF, "\""); fputs($CSVF, "$today"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_conf"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_first"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_last"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_addr"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_addr2"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_city"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_state"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_zip"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_phone"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_fax"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_email"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_first"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_last"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_addr"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_addr2"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_city"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_state"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_zip"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_phone"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_1"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_1"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_1"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_1"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_1"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_2"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_2"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_2"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_2"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_2"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_3"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_3"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_3"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_3"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_3"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_4"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_4"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_4"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_4"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_4"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_5"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_5"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_5"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_5"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_5"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_6"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_6"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_6"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_6"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_6"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_7"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_7"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_7"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_7"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_7"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_8"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_8"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_8"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_8"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_8"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_9"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_9"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_9"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_9"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_9"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_10"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_10"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_10"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_10"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_10"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_11"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_11"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_11"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_11"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_11"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_12"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_12"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_12"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_12"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_12"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_13"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_13"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_13"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_13"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_13"); fputs($CSVF, "\",\""); fputs($CSVF, "$SUBTOTAL"); fputs($CSVF, "\",\""); fputs($CSVF, "$TOTAL"); fputs($CSVF, "\",\""); fputs($CSVF, "$SHIPPING"); fputs($CSVF, "\",\""); fputs($CSVF, "$comment"); fputs($CSVF, "\"\n"); fclose($CSVF); } //# Send email conformation to the customer..... $mailheaders = "From: $youremail\r\n"; $mailheaders .="X-Mailer: PHP Mail generated by:NOP Design Shopping Cart\r\n"; $subject = "Order Confirmation"; mail($b_email, $subject, $strMessageBody, $mailheaders); include($header); echo "<h2>Thank you</h2>"; echo "Thank you for your order from our online store. You will receive a confirmation email of your order "; echo "momentarily. Please contact us at $youremail if you have any questions or concerns."; echo "<P>"; echo "<A HREF=\"$returnpage\" target=_top>Return Home</A>"; echo "<P>"; include($footer); ?>
[3 Jan 2008 4:18pm UTC] stalin dot gsk at gmail dot com
Include($header) and function fputs($csvf, "string") not detecting by PHP 5.2.3 Iam using WIN NT server with IIS 6 Error msg: Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.;./includes;./pear') in C:\Inetpub\vhosts\shopinonline.co.in\cgi-bin\checkout.php on line 61 Iam adding the code below plz check if any thing can be done to make it work advanced thanks for those who can try helping me site was launched and this shopping is making plz help soon. PHP code: checkout.php <? //=====================================================================| | // NOP Design JavaScript Shopping Cart || // PHP SCRIPT Checkout Module || // || // For more information on SmartSystems, or how NOPDesign can help you || // Please visit us on the WWW at http://www.nopdesign.com || // || // Javascript portions of this shopping cart software are available as || // freeware from NOP Design. You must keep this comment unchanged in || // your code. For more information contact FreeCart@NopDesign.com. || // || // JavaScript Shop Module, V.4.4.0 || //=====================================================================| | // || // Function: Writes available form elements from the NOP || // Free Cart (http://www.nopdesign.com/freecart) || // and other form elements to an email file, and || // send user confirmation || // || //=====================================================================| | //###################################################################### // # // User defined variables: # // $header - string value containing the complete # // path of the HTML page header # // $footer - string value containing the complete # // path of the HTML page footer # // $youremail - string value containing the email address to # // send catalog orders in EMAIL or BOTH modes # // $returnpage - URL to send user when checkout is complete # // $csvfilename - string value containing the complete # // path of the user database. # // $csvquote - string value containing what to use for quotes # // in the csv file (typically "" or \") # // $mode - string value containing 'EMAIL', 'FILE' or # // 'BOTH' to determine if the script should send # // an email to you with the new order, write the # // order to a CSV file, or do both. # //###################################################################### $header = "header.html"; $footer = "footer.html"; $returnpage = "thankyou.html"; $youremail = "support@shopinonline.co.in"; $csvfilename = "orders.csv"; $csvquote = "\"\""; $mode = "BOTH"; //############################################################## //#FUNCTION: doFormError # //#RETURNS: # //#PARAMETERS: A error message string. # //#PURPOSE: Generates an HTML page indicating a form # //# submission error occurred. # //############################################################## function doFormError($errString) { include($header); echo "<FONT SIZE=+2>The form you submitted was not complete.<BR><BR></FONT>"; echo "$errString<BR><BR>\n"; echo "<INPUT TYPE=BUTTON ONCLICK='history.back()' VALUE=' Return to the checkout page '><HR>"; include($footer); exit; } //############################################################## //#FUNCTION: doError # //#RETURNS: # //#PARAMETERS: A error message string. # //#PURPOSE: Generates an HTML page indicating an error # //# occurred. # //############################################################## function doError($errString) { include($header); echo "$errString<BR><BR>\n"; include($footer); exit; } //############################################################## //############################################################## //### MAIN ### //############################################################## //############################################################## if (($b_conf == "") || ($b_first == "") || ($b_last == "") || ($b_addr == "") || ($b_city == "") || ($b_state == "") || ($b_zip == "") || ($b_phone == "") || ($b_email == "")) { doFormError("I'm sorry, but it appears that you forgot to fill in a required field. Please go <A HREF='Javascript:history.go(-1);'>back</A> and correct the error."); exit; } //# checks for valid email address if( !(ereg("^(.+)@(.+)\\.(.+)$",$b_email)) ) { doFormError("You submitted an invalid email address. Please go <A HREF='Javascript:history.go(-1);'>back</A> and correct the error."); exit; } $today = date ("l, F jS Y"); $strMessageBody = ""; $strMessageBody .= "A new order has been received. A summary of this order appears below.\n"; $strMessageBody .= "\n"; $strMessageBody .= "Order Date: $today \n"; $strMessageBody .= " \n"; $strMessageBody .= "Bill To: \n"; $strMessageBody .= "-------- \n"; $strMessageBody .= " $b_first $b_last \n"; $strMessageBody .= " $b_addr \n"; $strMessageBody .= " $b_addr2 \n"; $strMessageBody .= " $b_city, $b_state $b_zip \n"; $strMessageBody .= " $b_phone \n"; $strMessageBody .= " $b_fax \n"; $strMessageBody .= " $b_email \n"; $strMessageBody .= " \n"; $strMessageBody .= " \n"; $strMessageBody .= "Ship To: \n"; $strMessageBody .= "-------- \n"; $strMessageBody .= " $s_first $s_last \n"; $strMessageBody .= " $s_addr \n"; $strMessageBody .= " $s_addr2 \n"; $strMessageBody .= " $s_city, $s_state $s_zip \n"; $strMessageBody .= " $s_phone \n"; $strMessageBody .= " \n"; $strMessageBody .= " \n"; $strMessageBody .= "Qty Price(\$) Product ID - Product Name\n"; $strMessageBody .= "===================================================================== \n"; $strMessageBody .= "$QUANTITY_1 \$$PRICE_1 $ID_1 - $NAME_1 $ADDTLINFO_1 \n"; if( $NAME_2 ) {$strMessageBody .= "$QUANTITY_2 \$$PRICE_2 $ID_2 - $NAME_2 $ADDTLINFO_2 \n";} if( $NAME_3 ) {$strMessageBody .= "$QUANTITY_3 \$$PRICE_3 $ID_3 - $NAME_3 $ADDTLINFO_3 \n";} if( $NAME_4 ) {$strMessageBody .= "$QUANTITY_4 \$$PRICE_4 $ID_4 - $NAME_4 $ADDTLINFO_4 \n";} if( $NAME_5 ) {$strMessageBody .= "$QUANTITY_5 \$$PRICE_5 $ID_5 - $NAME_5 $ADDTLINFO_5 \n";} if( $NAME_6 ) {$strMessageBody .= "$QUANTITY_6 \$$PRICE_6 $ID_6 - $NAME_6 $ADDTLINFO_6 \n";} if( $NAME_7 ) {$strMessageBody .= "$QUANTITY_7 \$$PRICE_7 $ID_7 - $NAME_7 $ADDTLINFO_7 \n";} if( $NAME_8 ) {$strMessageBody .= "$QUANTITY_8 \$$PRICE_8 $ID_8 - $NAME_8 $ADDTLINFO_8 \n";} if( $NAME_9 ) {$strMessageBody .= "$QUANTITY_9 \$$PRICE_9 $ID_9 - $NAME_9 $ADDTLINFO_9 \n";} if( $NAME_10 ){$strMessageBody .= "$QUANTITY_10 \$$PRICE_10 $ID_10 - $NAME_10 $ADDTLINFO_10 \n";} if( $NAME_11 ){$strMessageBody .= "$QUANTITY_11 \$$PRICE_11 $ID_11 - $NAME_11 $ADDTLINFO_11 \n";} if( $NAME_12 ){$strMessageBody .= "$QUANTITY_12 \$$PRICE_12 $ID_12 - $NAME_12 $ADDTLINFO_12 \n";} if( $NAME_13 ){$strMessageBody .= "$QUANTITY_13 \$$PRICE_13 $ID_13 - $NAME_13 $ADDTLINFO_13 \n";} $strMessageBody .= "===================================================================== \n"; $strMessageBody .= "SUBTOTAL: $SUBTOTAL \n"; $strMessageBody .= "TOTAL: $TOTAL \n"; $strMessageBody .= "\n"; $strMessageBody .= "FREIGHT: $SHIPPING \n"; $strMessageBody .= "\n\n"; $strMessageBody .= "Comments: \n"; $strMessageBody .= "--------- \n"; $strMessageBody .= "$comment \n"; $strMessageBody .= " \n"; if( $mode == "BOTH" || $mode == "EMAIL") { //# Send email order to you... $mailheaders = "From: $b_email\r\n"; $mailheaders .="X-Mailer: PHP Mail generated by:NOP Design Shopping Cart\r\n"; $subject = "New Online Order"; mail($youremail, $subject, $strMessageBody, $mailheaders); } if( $mode == "BOTH" || $mode == "FILE") { $csvcomments = $comment; if (!$CSVF = fopen($csvfilename,'a')) { doError("Unable to open CSV file for writing. Your order has not been saved."); exit; } fputs($CSVF, $string); fputs($CSVF, "\""); fputs($CSVF, "$today"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_conf"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_first"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_last"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_addr"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_addr2"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_city"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_state"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_zip"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_phone"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_fax"); fputs($CSVF, "\",\""); fputs($CSVF, "$b_email"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_first"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_last"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_addr"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_addr2"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_city"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_state"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_zip"); fputs($CSVF, "\",\""); fputs($CSVF, "$s_phone"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_1"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_1"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_1"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_1"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_1"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_2"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_2"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_2"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_2"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_2"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_3"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_3"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_3"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_3"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_3"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_4"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_4"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_4"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_4"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_4"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_5"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_5"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_5"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_5"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_5"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_6"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_6"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_6"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_6"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_6"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_7"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_7"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_7"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_7"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_7"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_8"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_8"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_8"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_8"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_8"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_9"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_9"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_9"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_9"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_9"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_10"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_10"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_10"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_10"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_10"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_11"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_11"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_11"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_11"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_11"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_12"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_12"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_12"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_12"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_12"); fputs($CSVF, "\",\""); fputs($CSVF, "$QUANTITY_13"); fputs($CSVF, "\",\""); fputs($CSVF, "\$$PRICE_13"); fputs($CSVF, "\",\""); fputs($CSVF, "$ID_13"); fputs($CSVF, "\",\""); fputs($CSVF, "$NAME_13"); fputs($CSVF, "\",\""); fputs($CSVF, "$ADDTLINFO_13"); fputs($CSVF, "\",\""); fputs($CSVF, "$SUBTOTAL"); fputs($CSVF, "\",\""); fputs($CSVF, "$TOTAL"); fputs($CSVF, "\",\""); fputs($CSVF, "$SHIPPING"); fputs($CSVF, "\",\""); fputs($CSVF, "$comment"); fputs($CSVF, "\"\n"); fclose($CSVF); } //# Send email conformation to the customer..... $mailheaders = "From: $youremail\r\n"; $mailheaders .="X-Mailer: PHP Mail generated by:NOP Design Shopping Cart\r\n"; $subject = "Order Confirmation"; mail($b_email, $subject, $strMessageBody, $mailheaders); include($header); echo "<h2>Thank you</h2>"; echo "Thank you for your order from our online store. You will receive a confirmation email of your order "; echo "momentarily. Please contact us at $youremail if you have any questions or concerns."; echo "<P>"; echo "<A HREF=\"$returnpage\" target=_top>Return Home</A>"; echo "<P>"; include($footer); ?>
[4 Jan 2008 11:54am UTC] benjamin dot azan at gmail dot com
The mySQL bug http://bugs.mysql.com/bug.php?id=25621 says : " MySQL 5.0.54BK on WinXP localhost does not exhibit the error. " and the PHP 5.2.5 show Client API version 5.0.45 So I think the next version of PHP should contain this new version of the MySQL connector. I'm gonna try to upgrade the mySQL connector on a 5.2.5 PHP version to see if it fixs the bug
[4 Jan 2008 2:30pm UTC] benjamin dot azan at gmail dot com
I could not find the new version of mysql connector but I changed the PHP mode from CGI/fastCGI to Apache 2.0 Handler and it fixed the problem.
[4 Jan 2008 6:28pm UTC] jcmelcher at gmail dot com
This worked for me... IIS 6.0 with PHP 5.2.5 on Win2K3 SP2 If you download the latest PHP - MySQL connector files direct from MySQL this problem goes away:- http://dev.mysql.com/downloads/connector/php/
[4 Jan 2008 9:44pm UTC] jaco at jump dot co dot za
I am having the same and more problems. I am running: Apache 2.2.6 MySQL 5.0.45 PHP 5.2.5 Windows Server 2003 R2 Standard SP2 2 x Quad Core Xeon 4Gb RAM IIS Installed for SMTP, FTP and WWW on port 443 for a single .NET Webservice access (NO PHP connectors installed for IIS). But I am sure this is not IIS related, becuase it still happens even with IIS stopped Whenever apache tries to recycle threads I get: ** Apache Error Log ** [Fri Jan 04 22:37:38 2008] [notice] Child 324: All worker threads have exited. Error in my_thread_global_end(): 1 threads didn't exit exiting because it reached MaxRequestsPerChild. Signaling the parent to restart a new child process. [Fri Jan 04 22:37:42 2008] [notice] Parent: Received restart signal -- Restarting the server. ************************ Note the time difference between the first log and the last log This then causes my Apache to crash and restart. Then I tried to download the latest snapshot of PHP, installed it, but then Apache woould not start at all, just gives me a starting status, but does not het out of it. My problem is also that there is hundreds of php files running and our site is very active, and I have NO idea what is causing this problem. The PHP error log is clean, but the following also shows up AFTER apache crashes. 080104 11:24:26 [Warning] Aborted connection 16865 to db: '********' user: '*****' host: 'localhost' (Got an error reading communication packets) But I am sure that this is just caused by apache that have crashed and the already open calls to the database that was not terminated by the php script. These messages apears in the event log after the crash: Faulting application httpd.exe, version 2.2.6.0, faulting module libapr-1.dll, version 1.2.11.0, fault address 0x000079a0. Faulting application httpd.exe, version 2.2.6.0, faulting module php5ts.dll, version 5.2.5.5, fault address 0x0000acb9. We are using both mysql and mysqli connectors and I have tried to download the ones from the mysql site and again apache refused to start. This is quite serious for us at the moment, becuase its in a live enviroment and the dev servers never had this problem. Hope we can find a solution soon.
[7 Jan 2008 12:14pm UTC] jaco at jump dot co dot za
I was able to reproduce this on a very basic instalation:
Apache 2.2.4
PHP 5.2.5
Windows 2003 Server
NO Database installed
<?
$fp = fsockopen("192.168.1.105", 3312);
fclose($fp)
echo "DONE";
exit;
?>
This executes 100%, and gives no errors, but as soon as I stop apache,
it gives me the message in the apache error log
Error in my_thread_global_end(): 1 threads didn't exit
So it seems to me more of a sockets problem than a mysql problem.
When I run the same script in CLI, I get no error.
[10 Jan 2008 5:49pm UTC] amoo_miki at yahoo dot com
This is caused by windows security: to be sure: 1) Check if the drive where PHP is installed is an NTFS partition. 2) If yes, "Read & Execute" for "Everyone" for the "ext" folder. php -v at the command-line should not show you the error anymore.
[11 Jan 2008 9:39pm UTC] jmair at parkcountyre2 dot org
IIS 6 on Windows 2003 server fully patched. php 5.2.5 mysql This issue was killing me for a week. I tried every successful attempt from previous posts and no resolve. I was also getting this problem with no mysql. I downloaded and installed fastcgi and followed the manual install for fastcgi and php, not only is the Php not displaying the error, but it's running faster than I've ever seen, maybe almost as fast as a linux box =0 hope this helps somebody. here is the link. http://www.iis.net/articles/view.aspx/IIS7/Hosting-Web-Applications/PHP/ Using-FastCGI-to-Host-PHP-Applications-on-IIS-6-0-?Page=2
[22 Jan 2008 8:30pm UTC] codeslinger at compsalot dot com
Ping, Can we get php updated please? This problem is now one year old. Everyone who updates to the latest Windows php = 5.2.5 encounters this bug, it results in total breakage of loading the mysql dll. This bug has cost thousands upon thousands of man-hours to be expended/wasted by site admins in trying to locate the cause of the problem and the fix for it. In some cases it has also caused people to abandon the use of php-mysql programs altogether. According to MySQL Bug: http://bugs.mysql.com/bug.php?id=25621 The final resolution is that the problem was with mysql not php and that the problem was fixed awhile ago, and that all that is needed is for php to update to the latest mysql library. Given the fundamental importance of the php mysql interface, as in LAMP, it is inexplicable that it has taken an entire year to resolve what appears to have been a fairly simple fix.
[7 Feb 2008 10:27pm UTC] WS6TA at txlanes dot com
I have to agree about the impression this makes on potential LAMP adopters. I am a long-time Windows/MSSQL person looking at the LAMP stack as an alternative to MS. However, I download PHP 5.2.5 and start reading the manual only to get the error "Error in my_thread_global_end()" the first time I used the CLI. So, I go searching and find all kinds of references to dll swaps for PHP side AND the MySQL side. I don't even have MySQL installed yet... I was looking at PHP's ability to be a standalone scripting tool as well as a web-database tool. Anyway, I then find this thread where it appears the bug has been around since approximately May 2007 and PHP version 5.2.3. I commented out "extension=php_mysql.dll" in the php.ini to stop the error, but I think I will want this extension once I install MySQL. My hat's off to the people that started and have contributed to the PHP codebase. Please understand that I am not trying to bash anyone. I simply want to reiterate the PHP is crucial component to the LAMP stack and having to search for a bug fix on the very first run discourages potential new adopters. I'm very impressed with what I know about PHP thus far and would hate to think a potential adopter could be discouraged at square one in their evaluation.
[8 Feb 2008 6:56am UTC] OPunWide at hotmail dot com
I'm a newbie at this, and am installing php for the first time. Very basic setup, running WinXP, using IIS 5.1 and PHP 5.2.5, installed using the Windows installer. When I first installed I included support for MySQL in the options, but had not installed MySQL. The error happened with a psp script consisting only of pspinfo(). I went back to the installer and removed support for MySQL and the problem went away. I don't think the folks at MySQL can be blamed for this one.
[13 Feb 2008 5:25pm UTC] byerly0503 at gmail dot com
This bug caused me to spend an hour on the issue. I kept ignoring all of the help related to MySQL since the script I was trying to run, didn't use MySQL. Please fix this by including the right DLL or adjust the installer to give a warning message: "Despite downloading this package, you will need to download an older package, replace the mysql dll, in order to use PHP."
[20 Feb 2008 5:05pm UTC] brandonkahre at charter dot net
I am still experiencing this bug as of Feb-20-2008. I am running PHP 5.2.4 in a Windows XP environment with MySQL 4.2.20. To leave no room for confusion, the problems and steps I am using to recreate this bug are described in Bug #44009 (http://bugs.php.net/bug.php?id=44009). I have tried the following PHP versions: PHP 5.2.4 PHP 5.2.5 PHP 5.2.6-latest I have tried patching the Windows php_mysql.dll extension using the following sources: PHP 5.2.1: http://www.php.net/releases/#5.2.1 [copy /ext/php_mysql.dll only] - this did not fix any problems MySQL: http://dev.mysql.com/downloads/connector/php/ [mysql extension (PHP 5.2.0) for MySQL Server 4.1.21] - could not connect to MySQL server. Please note that the extension is for PHP 5.1.6.6 MySQL: http://dev.mysql.com/downloads/connector/php/ [mysql extension (PHP 5.2.0) for MySQL Server 5.0.27] - this did not fix any problems IT-Guys (mentioned in this bug tracker): http://www.it-etc.com/2007/10/25/php-error-524-getting-error-error-in-my _thread_global_end-1-threads-didnt-exit/ - this did not fix any problems. The extensions provided seem to be for PHP 5.2.0.0
[25 Feb 2008 8:50pm UTC] sharadrb at yahoo dot com
Even I had same issue with PHP version 5.2.5. So, I rolled back to older version 5.2.1 which does not have this issue. Now, I don't have this issue with version 5.2.1
[12 Mar 2008 6:42pm UTC] emiller at rsimedical dot com
Experiencing Issue on Win2k3, Apache 2.2.8, PHP 5.2.4 Apache hangs, on Apache service stop error appears in error.log
[13 Mar 2008 11:16am UTC] email at email dot com
I also solved this issue with copying the libmysql.dll file from the previous version. Downloaded libmysql.dll file from http://mysql.oblique.ch/ (it is a previous version file), copied it over the current one (C:/PHP/libmysql.dll). This solved the issue.
[18 Mar 2008 10:37pm UTC] stein at visibone dot com
I'm still having a 5 second delay at the end of my command-line invocation. Putting 5.0.51a libmysql.dll in C:\Program Files\PHP seemed to eliminate the my_thread_global_end() error, and replacing ext\php_mysql.dll and ext\php_mysqli.dll stopped the 5-second delay when running a simple "php --ini" or hello-world script. But I still get a 5 second delay if I call mysql_connect() & mysql_close(). php -i (phpinfo) excerpts: mysql Client API version => 5.0.51a mysqli Client API library version => mysqlnd 5.0.1-beta - 070402 - $Revision: 321 $ Help would sure be appreciated. 5 seconds x 1000 hurts. -- Bob Stein, VisiBone
[19 Mar 2008 6:39pm UTC] stein at visibone dot com
...addendum to previous, the php_mysql.dll and php_mysqli.dll I installed were from PHP 5.2.1 zip file.
[20 Mar 2008 7:39pm UTC] stein at visibone dot com
...free PHP cheatsheet or wall chart to anyone who helps me get around this. ;-)
[20 Mar 2008 8:05pm UTC] scottmac@php.net
Try PHP 5.2.5 with the libmysql.dll from http://dev.mysql.com/downloads/mysql/5.0.html#win32 Make sure there are no other libmysql.dll lurking around your path.
[22 Mar 2008 10:01pm UTC] lizwatson02452 at yahoo dot com
I have this problem, and I am *not* using MySQL. I'm on PHP 5.2.4, with SQL Server. Are there any workarounds that are not MySQL-specific?
[26 Mar 2008 8:56pm UTC] lizwatson02452 at yahoo dot com
Following up briefly on my previous post....changing to an earlier libmysql.dll appears to have fixed the problem for us, even though we don't use MySQL. Two difficulties with that: 1) It was hard for me to believe that was the solution. 2) It took some doing to persuade our hoster that changing the .dll was not merely a fool's errand.
[28 Mar 2008 10:23pm UTC] stein at visibone dot com
Brilliant, Scottmac, I did have some crufty lurking libmysql.dll's. But I'm still getting the 5 second hang. Using the 5.2.5 php_mysql.dll and php_mysqli.dll's the hang happens with a dirt-simple hello-world. With 5.2.1 it happens if I mysql_connect(). Could it be having both mysql and mysqli enabled? I'm using both for unit testing. -- Bob Stein, VisiBone
[8 Apr 2008 8:14pm UTC] spambox at shad dot pp dot ru
Same bug just happened to me in this example:
C:\>echo "<?php echo date('T'); ?>" |php
"MSD"
Error in my_thread_global_end(): 1 threads didn't exit
MySQL extension was enabled in php.ini, but I didn't use any of it's
functions in example. PHP is 5.2.5, no other mysql related dll's are
available on system.
I posted this just to confirm that bug exists on my system too.
[9 Apr 2008 3:16pm UTC] jdolecek at NetBSD dot org
Downgrading BOTH libmysql.dll AND php_mysql.dll to version bundled with PHP 5.2.1 fixed the issue for me, too.
[16 Apr 2008 4:12am UTC] tristen_e at yahoo dot com
This is still a problem: $ php --version PHP 5.2.5 (cli) (built: Nov 8 2007 23:18:51) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
[22 Apr 2008 2:01pm UTC] newcomer at hotmail dot com
We just upgraded to PHP Version 5.2.5. the "Error in my_thread_global_end(): 1 threads didn't exit" appeared no matter the application uses MySQL or not. Replaced the libmysql.dll from V.5.0.45, the error disappear. But the application is running very slow. Switched back to PHP version4. Everything back to normal.
[27 Apr 2008 1:59pm UTC] alienoiduk at yahoo dot com
You need to install MySQL5.051a for linux and MySQL 5.0.5b1 for windows. If installed the wrong way around there will be a delay in executing. Also copy the correct libmysql.dll to the C:\PHP\ folder I installed MySQL 5.0.51b at C:\Mysql\ therfor the libmysql.dll file you require will be in folder C:\MySQL\lib\opt the file is the Application Extension file size of about 2,000K. This worked on a brand new server running IIS6 windows 2003 server latest download from PHP 5.2.5 and MySQL 5.0.51b did as above no errors no hangup or delays. I am not run MySQLi.
[6 May 2008 2:52pm UTC] newcomer at hotmail dot com
to alienoiduk: What kind of the application do you run under PHP&MySQL? we are running a wordpress blog. it was doing fine with the old version php (5.0 or older).When we upgraded php to 5.2.5, the blog got the error message. Then I replaced the libmysql.dll from php v.5.0.51, the error message disappear, but the blog runs very slow. it is so slow we have to switch php back to the old version. anyone has this experience with wordpress?
[9 May 2008 3:10pm UTC] chris at crgs dot co dot uk
Just upgraded to PHP 5.2.6. As others have experienced, the error message is gone, but there is still an unacceptable 5 second delay at the end of loading every page, whether or not it accesses the MySQL database or not. Downgrading to libmysql.dll from PHP 5.2.1 fixed the problem, as always.
[26 May 2008 8:16pm UTC] jani@php.net
Still not properly fixed.
[26 May 2008 8:36pm UTC] jani@php.net
Fixeth or not, that's the question? Assigning to The One who should know..
[29 May 2008 11:06pm UTC] jani@php.net
See bug #44078 for possible solution.
[30 May 2008 4:04am UTC] louis at steelbytes dot com
still got slowness on exit with php 5.2.6 when using mysql AND CURL (As somebody else noted in bug #41968 that was marked as a dupe of this bug) and still replacing libmysql.dll with the copy from php 5.2.1 fixes it. doesn't seem to be happending to me when only using mysql and not curl? PS, am using dl() to load these two extension - not php.ini
[31 May 2008 3:00am UTC] da_pimp2004_966 at hotmail dot com
Ok, I used the updated versions of the files and I recieved this error; PHP Warning: PHP Startup: mysql: Unable to initialize module Module compiled with module API=20060613, debug=0, thread-safety=1 PHP compiled with module API=20060613, debug=0, thread-safety=0 These options need to match in Unknown on line 0 Anybody have any ideas? da_pimp2004_966@hotmail.com - any help appreciated.
[4 Jun 2008 4:58pm UTC] onehourlate at hotmail dot com
php 5.2.6, Windows Visa or XP
I confirm that the 5 seconds delay on exit is still there.
Grabbing libmysql.dll from the lastest stable Mysql (5.0.51b) didn't
help. Haven't tried to use binaries from php 5.2.1 yet.
The problem seems to appear as soon as I play with sockets.
<?
$fp = fsockopen("www.google.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "ERROR: $errstr ($errno)\n";
} else {
echo "OK\n";
fclose($fp);
}
?>
[6 Jun 2008 1:00am UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[9 Jun 2008 2:33am UTC] kneekoo at yahoo dot com
As indicated in some of the above messages, I tried some advices but nothing changed on my setup. 1. Commenting ;[PHP_MYSQL] ;extension=php_mysql.dll and de-commenting extension=php_mysql.dll didn't help. 2. Switching mysql.allow_persistent to Off didn't help as well. I downloaded PHP 5.2.6, installed it on a WinXP SP2 system and that's it. There is a delay (more than 5 seconds to me - about 7) and this message: Error in my_thread_global_end(): 1 threads didn't exit It's shocking to find out there isn't an official fix for this after one whole year. Lucky me I can work with my scripts but I hope this won't interfere with my development further on. Please, guys, fix this. Thanks!
[9 Jun 2008 10:12am UTC] Computer dot Pers at gmail dot com
So... Is there's any solution??? C:\Program Files\SWsoft\Plesk\Additional\PleskPHP5>php -v PHP 5.2.5 (cli) (built: Nov 8 2007 23:18:51) Copyright (c) 1997-2007 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies Error in my_thread_global_end(): 1 threads didn't exit
[9 Jun 2008 10:55am UTC] scottmac@php.net
First you need 5.2.6 and secondly you need to check for old libmysql.dll files lurking around in your path, I can't reproduce this with MySQL 5.0.51. Can you reproduce this when you disable all extensions and just enable MySQL? If you start enabling extensions which one causes the problem? On phpinfo() what version of libmysql does it show? If you don't have PHP 5.2.6 and MySQL 5.0.51 or newer then please upgrade before you consider replying.
[9 Jun 2008 11:47am UTC] Computer dot Pers at gmail dot com
OK. I've upgraded PHP to latest 5.2.6 Message: "Error in my_thread_global_end(): 1 threads didn't exit" is disappeared. but delay of 5 seconds is here. I've disabled ALL plugins and there's no any delay. 1. Then i've enabled "extension=php_mysql.dll" 2. i've created script, which shows curent time before and after "php -v" commnad and launched it several times here is result: 1. No delay C:\Program Files\SWsoft\Plesk\Additional\PleskPHP5>phpinfo.bat 09.06.2008 14:33:16 PHP 5.2.6 (cli) (built: May 2 2008 18:02:07) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies 09.06.2008 14:33:16 2. Delay C:\Program Files\SWsoft\Plesk\Additional\PleskPHP5>phpinfo.bat 09.06.2008 14:33:18 PHP 5.2.6 (cli) (built: May 2 2008 18:02:07) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies 09.06.2008 14:33:23 3. No delay C:\Program Files\SWsoft\Plesk\Additional\PleskPHP5>phpinfo.bat 09.06.2008 14:33:26 PHP 5.2.6 (cli) (built: May 2 2008 18:02:07) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies 09.06.2008 14:33:26 4. No delay C:\Program Files\SWsoft\Plesk\Additional\PleskPHP5>phpinfo.bat 09.06.2008 14:33:28 PHP 5.2.6 (cli) (built: May 2 2008 18:02:07) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies 09.06.2008 14:33:28 5. No delay C:\Program Files\SWsoft\Plesk\Additional\PleskPHP5>phpinfo.bat 09.06.2008 14:33:29 PHP 5.2.6 (cli) (built: May 2 2008 18:02:07) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies 09.06.2008 14:33:29 6. No delay C:\Program Files\SWsoft\Plesk\Additional\PleskPHP5>phpinfo.bat 09.06.2008 14:33:30 PHP 5.2.6 (cli) (built: May 2 2008 18:02:07) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies 09.06.2008 14:33:30 7. Delay C:\Program Files\SWsoft\Plesk\Additional\PleskPHP5>phpinfo.bat 09.06.2008 14:33:31 PHP 5.2.6 (cli) (built: May 2 2008 18:02:07) Copyright (c) 1997-2008 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies 09.06.2008 14:33:36 ......... 1 of 3 or 4 times i see a delay of 5 secs. and this is on a machine Intel Xeon E5335 @2Ghz 4Gb Ram at Idle state MySql for test reason was STOPPED.
[11 Jun 2008 9:20pm UTC] paul at orac dot clara dot co dot uk
Brand new install of Win XP, with IIS (5.1). Installed PHP 5.2.6 (IIS set to use PHP in CGI mode not ISAPI). MySQL is NOT installed on the machine. The only version of libmysql.dll anywhere is the one supplied with php (version 5.00.51a). With either or both of "extension=php_mysql.dll" or "extension=php_mysqli.dll" enabled, running "php-cgi -v" results in the 5 second delay about 25% of the time (5 times out of 20 - very repeatable). The same happens running a browser to a local web page containing just a call to phpinfo(). With both the extension lines commented, the problem does not occur, ever. Running "php -v" I never see the problem occur, ever, even with the extensions enabled. Replacing libmysql.dll with the one from php 5.2.1 (version 5.00.22) causes the above 5 second delay to disappear in ALL cases. The first version of libmysql.dll that caused the problem was that supplied with php 5.2.2. Surely it can't be too hard to start back with those two versions and work out what changed between them?
[11 Jun 2008 9:33pm UTC] paul at orac dot clara dot co dot uk
At last, someone seems to have a clue: http://bugs.mysql.com/bug.php?id=25621 http://bugs.mysql.com/bug.php?id=37226
[12 Jun 2008 8:44am UTC] scottmac@php.net
This was a change by MySQL, not by PHP. We simply bundle the latest version of MySQL, if you use PHP 5.2.2 with the libmysql.dll you will see the issue. They're looking at other changes to try and solve an issue where every new thread needs to call mysql_thread_init() which isn't ideal. Until then either use the non-thread-safe version of PHP or downgrade your libmysql.dll
[19 Jun 2008 11:50am UTC] Computer dot Pers at gmail dot com
So mysql dll from 5.2.1 cures the problem... Where i can take php 5.2.1 (or this dll)??? there no any live links in google...
[20 Jun 2008 1:00am UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[14 Jul 2008 7:39pm UTC] bkeene at whisolutions dot nospamplease dot com
It looks like the system automatically closed out this ticket, but it is still an issue. I have commented out every extension in my PHP5.2.6 installation with the exception of the php_mysql.dll OR php_mysqli.dll and still experience the problem. Running php.exe -v on a windows 2003 box STILL takes 5 seconds. I happened to locate a previous version of php5.1.6 (Aug 23 2006) and used that version of the libmysql.dll and the delay ceases. At a minimum, could a valid, previous version of the libmysql.dll be bundled with the installation so that the command line versions of PHP can function correctly? Also, I never experienced this issue with MySQL when running PHP scripts served by Apache 2.2 as a module (not CGI).
[20 Jul 2008 7:58pm UTC] froggywillneverdie at msn dot com
I'm using PHP 5.2.6 on Windows Vista SP1. My scripts take around 5 seconds to exit if php_mysql.dll is enabled in php.ini.
[29 Jul 2008 2:58pm UTC] marcin dot slowinski at keratronik dot pl
I solved problem by copying libMySQL from my MySQL server to PHP dir. Windows XP SP2 Apache 2.2.9 with mod_ssl PHP 5.2.6 (crashed with oryginal libmysql.dll) MySQL 5.0.27-community-nt Regards Marcin
[15 Sep 2008 9:06am UTC] chris at crgs dot co dot uk
According to the MySQL bug: http://bugs.mysql.com/bug.php?id=37226 the patch for this bug has now been created, and will be released in MySQL 5.0.70. When this happens, it would be great if the PHP people could release a new distribution with the updated libmysql.dll file inside it, so that everyone can benefit from this release without having to copy files around
[15 Oct 2008 7:38am UTC] supp0rt_24x7 at yahoo dot com
Has this been fixed yet ? http://www.eukhost.com/forums/f15/fix-error-my_thread_global_end-1-threa ds-didnt-exit-5612/
[26 Nov 2008 9:27pm UTC] cahlquist at yesco dot com
We have the same problem, 5 to 6 second delay. We have commented out every single extension except php_mysql.dll and we get the delay. Then as soon as we comment out php_mysql.dll the problem goes away. PHP 5.2.6 Running on Microsoft Windows Server 2003 R2 IIS 6.0 CGI (NOT Fast CGI)
[30 Nov 2008 11:07am UTC] paul at orac dot clara dot co dot uk
This seems fixed at long last by copying over the Libmysql.dll file supplied with MySQL 5.1.30 Hopefully that will be in the next PHP release.
[14 Dec 2008 12:52am UTC] paul at orac dot clara dot co dot uk
Sadly, the clueless PHP folks have distributed the still broken 5.0.51a version of LIBMYSQL.DLL with PHP 5.2.8 LIBMYSQL.DLL 5.1.30 had been out for 3 weeks before this. You would have thought they'd have got a grip on this by now. How pathetic.
[15 Dec 2008 10:47pm UTC] chaz_meister_rock at yahoo dot com
This is still broken in 5.2.8
[29 Dec 2008 6:18pm UTC] chaz_meister_rock at yahoo dot com
In case anyone is wondering how to fix this, comments above give a workaround. I'll lay out the steps for the newbies: 1) Download PHP v5.1.6 from http://museum.php.net/php5/php-5.1.6-Win32.zip 2) Extract that zip and replace the "libmysql.dll" in your production PHP directory (probably c:\php) with the newly downloaded libmysql.dll. This worked successfully on Windows2003 PHP v5.2.8 Threadsafe. Also, for some reason, many other versions of libmysql.dll (either bundled with PHP or released with MySQL server) do not work correctly. Cheers
[23 Jan 4:35pm UTC] onehourlate at hotmail dot com
Unfortunately, libmysql.dll 5.1.30 seems crash. see #46842. I don't know if this crash is necesserally php related, but it's still useful to investigate because trying to ship a version of libmysql.dll that finally solves this bug would be a good thing
[12 Feb 1:40am UTC] dbmuller at gmail dot com
I had this problem on a Windows 2003 server running PHP 5.2.5 as CGI with hsphere. I would copy the 5.2.1 DLL in and the error would persist. The fix was to delete the old DLL, refresh the page to produce a new error and then copy up the 5.2.1 libmysql.dll.
[20 Feb 3:14am UTC] kram0815 at gmx dot net
have this bug too on my system uname -a = 2.6.26-1-amd64 Debian Lenny php -v = PHP 5.2.6-1+lenny2 mysql -V = Ver 14.12 Distrib 5.0.51a msg in /var/log/apache2/error.log = Error in my_thread_global_end(): 41 threads didn't exit
[3 Mar 12:12am UTC] chaz_meister_rock at yahoo dot com
Same error in PHP 5.2.9.
[10 Mar 12:14am UTC] paul at orac dot clara dot co dot uk
Libmysql.dll from Mysql 5.0.77 seems to work fine and doesn't have the problems detailed in bug #46842. Libmysql.dll from Mysql 5.1.32 still doesn't work. I don't know why the PHP folks have closed #46842 as Bogus when it quite clearly is not.
[16 Mar 4:48pm UTC] chris at crgs dot co dot uk
Just to confirm that this is fixed in the updated libmysql.dll recently released as part of MySQL 5.0.77. If you have MySQL 5.0.77 installed, just replace the copy of libmysql.dll currently provided with PHP with the version from 'C:\Program Files\MySQL\MySQL Server 5.0\bin' (or equivalent folder) and you should be good to go. It would be great if the PHP team could update the copy of libmysql.dll supplied in the next release of PHP to 5.0.77 or above. Thanks to all those who have worked to get this fixed.
[11 May 6:47am UTC] j_holyfield05 at hotmail dot com
This solution works perfect for me http://tinyurl.com/php-mysql-bug PHP team should replace or update the DLL/binary in all their newer releases thankz
