ID: 26608
User updated by: gemery at bmihs dot co dot uk
Reported By: gemery at bmihs dot co dot uk
-Status: Feedback
+Status: Open
Bug Type: Informix related
Operating System: RedHat Linux 8
PHP Version: 4.3.3
New Comment:
OK... I'm installing this on my live system as that is the only way to
reproduce this problem. In addition I have a new version of the
informix sdk (clientsdk.2.81.UC2X5.LINUX.tar). I'll have to wait a few
days before I can report whether this has resolved the issue.
As for a short script to reproduce the problem, I'm afraid that's not
possible.
Previous Comments:
------------------------------------------------------------------------
[2003-12-12 14:08:50] magnus@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php4-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip
If it still doesn't work with lastest snapshot, please provide a short
script to reproduce the problem.
------------------------------------------------------------------------
[2003-12-12 12:55:12] gemery at bmihs dot co dot uk
Description:
------------
This problem has been around for quite some time.
The system will run fine for some time, then will suddenly start to
throw these errors:
[error] PHP Warning: ifx_connect(): E [SQLSTATE=IX 000 SQLCODE=-439]
in /var/www/html/casetrack/login.php on line 60, and
[error] PHP Warning: ifx_connect(): E [SQLSTATE=IX 000 SQLCODE=-439]
in /var/www/html/appointments/functions.php on line 41
for some time. The system will eventually settle down again, and a
restart of apache will always sort the problem out.
This is the description of that error from informix:
-439 Database server is currently processing an SQL task.
You attempted to call an SQL routine or attempted to execute an SQL
statement within a signal handling function/routine or a callback
function/procedure. Use only the sqldone() and sqlbreak() library
functions inside your IBM Informix ESQL/C callback function. Use only
the ECO-SQD and ECO-SQB library routines inside your ESQL/COBOL
callback procedure. In addition, if you want to unregister your
callback function in IBM Informix ESQL/C, you can invoke the
sqlbreakcallback() callback registration function within your callback
procedure. If you want to unregister your callback procedure in
ESQL/COBOL, you can invoke the ECO-SQBCB callback registration routine
within your callback
procedure.
I'm running php with this configure:
'./configure' '--with-informix=/opt/informix' '--with-apxs'
'--prefix=/opt/php' '--enable-track-vars' '--enable-magic-quotes'
against apache 1.3.23
IDS 7.31, ESQL/C version 9.5
Reproduce code:
---------------
I'm afraid I can't reproduce this without running our live system.
The best I can come up with is:
$connection = ifx_connect($db,$user,$pass);
Expected result:
----------------
Successful connection
Actual result:
--------------
[error] PHP Warning: ifx_connect(): E [SQLSTATE=IX 000 SQLCODE=-439]
in blah.php on line 1
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=26608&edit=1