|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2004-10-10 09:16 UTC] tony2001@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 01:00:01 2025 UTC |
Description: ------------ When connecting/disconnecting to oracle with each (successfull) ora_logon session after decent logoff an additional ghost process called <defunct> will appear. After serving several pages these processes will appear in huge numbers. Only after Apache shutdown these processes are dissapearing. PHP is compiled with: LD_LIBRARY_PATH=/usr/local/lib:/usr/local/ssl/lib ./configure --prefix=/usr/local/php-4_3_6 --with-apxs2=/export/home/local/apache_2_0_48/bin/apxs --with- oracle=/export/home/oracle/product/7.3.4 --with-openssl=/usr/local/ssl --enable-ftp --enable-sigchild OS: Sun Solaris 2.7 ORACLE version = 7.3.4 PHP version = 4.3.6 Apache version 2.0.48 When using PHP3 these ghost processes are not appearing is not the case. Is there a solution? Maybe it is a bug of php4? Reproduce code: --------------- <?php // ORACLE Login function Login() { $oracle_conn = ora_logon('oracle_username', 'oracle_passwd'); if(!$oracle_conn) { Error("Can't connect to database."); } ora_commitoff($oracle_conn); $oracle_curs = ora_open($oracle_conn); } // ORACLE Logout function Logout() { if ($oracle_conn) ora_logoff($oracle_conn); if ($oracle_curs) ora_close($oracle_curs); } Login(); Logout(); ?> Expected result: ---------------- a normal login and logout to oracle, no additional ghost processes appear in the ps -ef|grep defunct list. Actual result: -------------- each time code is run a new <defunct> ghost process is started: ps -ef|grep def root 419 406 0 0:00 <defunct> oracle 27661 27579 0 0:00 <defunct> oracle 27595 27579 0 0:00 <defunct> oracle 27663 27579 0 0:00 <defunct> oracle 27659 27579 0 0:00 <defunct> root 27672 718 0 00:09:04 pts/1 0:00 grep def oracle 27670 27579 0 0:00 <defunct> oracle 27662 27579 0 0:00 <defunct> oracle 27669 27579 0 0:00 <defunct> oracle 27660 27579 0 0:00 <defunct> oracle 27584 27579 0 0:00 <defunct> oracle 27668 27579 0 0:00 <defunct> oracle 27585 27579 0 0:00 <defunct> etc., etc..