ID:               49436
 User updated by:  november at netsecuretech dot com
 Reported By:      november at netsecuretech dot com
-Status:           Feedback
+Status:           Open
 Bug Type:         MySQLi related
 Operating System: windowsXP
 PHP Version:      5.3.0
 New Comment:

I think this problem isn't related to mysql error.

I modifyed php.ini.
Before : default_socket_timeout = 0
After : default_socket_timeout = -1

I execute php script.

Php script was processed successed.

Default_socket_timeout influence mysqli connection?

I tested below script.

If default_socket_timeout is -1, script isn't ended.

I think mysqli connection timeout and socket timeout managed
separated.

thank you.

<?php

echo 'PHP ' . phpversion() . "\n\n";

echo date('H:i:s ')."Start script\n";

ini_set('default_socket_timeout', 60);

echo 'max_execution_time: ' . ini_get('max_execution_time') . "\n";
echo 'default_socket_timeout: ' . ini_get('default_socket_timeout') .
"\n";

$mysqli = new mysqli('localhost', 'does', 'not', 'matter', 1);
if ($mysqli->connect_error) {
    echo "GOOD CATCH\n";
}

echo date('H:i:s ')."End script\n\n";


echo date('H:i:s ')."Start script\n";

ini_set('default_socket_timeout', -1);

echo 'max_execution_time: ' . ini_get('max_execution_time') . "\n";
echo 'default_socket_timeout: ' . ini_get('default_socket_timeout') .
"\n";

$mysqli = new mysqli('localhost', 'does', 'not', 'matter', 1);
if ($mysqli->connect_error) {
    echo "GOOD CATCH\n";
}

echo date('H:i:s ')."End script\n\n";

?>


Previous Comments:
------------------------------------------------------------------------

[2009-09-03 12:38:30] j...@php.net

Did you check the mysql server error log if it has any clues what
happened?

------------------------------------------------------------------------

[2009-09-02 10:07:21] november at netsecuretech dot com

I installed VC9 x86 Thread Safe (2009-Sep-02 11:00:00) verion.

It is not work well.

result is below...

thank you.

--------------------------------------------
C:\php\Script>..\php.exe mysqli_test.php
2009-09-02 19:03:27 => query start...
2006 MySQL server has gone away
2009-09-02 19:04:27 => query end...

C:\php\Script>

------------------------------------------------------------------------

[2009-09-02 09:41:45] j...@php.net

Please try using this snapshot:

  http://snaps.php.net/php5.3-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/



------------------------------------------------------------------------

[2009-09-02 04:40:26] november at netsecuretech dot com

mysql query takes 20~30 minutes;

$query = "create table test as select c_ip, count(*) from iis_summary
group by c_ip";

thank you

------------------------------------------------------------------------

[2009-09-02 04:37:23] november at netsecuretech dot com

Description:
------------
PHP version : 5.3.0 Windows Binary VC9 x86 Thread Safe (2009-Jun-30
08:52:56)

Mysql version : 5.1.37-community-edition (CentOS 4.7)

I use php CLI SAPI.

PHP cli's default max_execution_time is unlimited.

When I execute php script, mysql connection is lost.

When I use php 5.2.10, mysql query executed well.

What Can I do?

Thank you.

Reproduce code:
---------------
<?php

$db = mysqli_connect('x.x.x.x', 'id', 'pw', 'db');

if (!$db) {
  die('Connect Error (' . mysqli_connect_errno() . ') '
          . mysqli_connect_error());
}       

echo date("Y-m-d H:i:s")." => query start...\r\n";

$query = "create table test as select c_ip, count(*) from iis_summary
group by c_ip";

mysqli_query($db, $query); 

if (mysqli_errno($db) != 0) {
        echo mysqli_errno($db)." ".mysqli_error($db)."\r\n";
}

echo date("Y-m-d H:i:s")." => query end...\r\n";

mysqli_close($db);

?>

Expected result:
----------------
During query, mysql connection lost.

PHP Warning:  mysqli_query(): MySQL server has gone away in
C:\php\Script\mysqli
_test.php on line 14


Actual result:
--------------
C:\php\Script>..\php.exe mysqli_test.php
2009-09-02 13:23:15 => query start...
PHP Warning:  mysqli_query(): MySQL server has gone away in
C:\php\Script\mysqli
_test.php on line 14
PHP Warning:  mysqli_query(): Error reading result set's header in
C:\php\Script
\mysqli_test.php on line 14
2006 MySQL server has gone away
2009-09-02 13:24:15 => query end...

C:\php\Script>


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=49436&edit=1

Reply via email to