|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2003-12-09 04:38 UTC] k_becker at kat dot de
Description: ------------ Platform: 4-CPU machine, Apache 2.0.39..48, PHP 4.3.x, Win 2000 Adv. server engl., OCI8, Oracle 8.1.7EE When issuing multiple Oracle-requests at once, the Apache client thread dies with protection fault (C0000005) without any further message from PHP, Oracle or Apache. Same code runs okay on one-CPU machine with same platform. Changing Apache to 1.3.28 helped. Could be a problem within the PHP for Apache2 parallelization on more than one CPU. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 02:00:01 2025 UTC |
I tried the "MaxThreadsPerChild=1" from Bug#19517. No crashes, but Apache "... ran out of threads". Then set MaxRequestsPerChild 100000, ThreadsPerChild 100 and tried using the explicit Oracle address string from TNSnames.ora. This seems to work. Then tried php4-win32-STABLE-latest.zip of 2003-dec-10: Same result. I now have: Apache/1.3.28 (Win32) PHP/4.3.5-dev, OCI8 Revision: 1.183.2.7 on Windows 2000 adv. server build 2195 with MaxRequestsPerChild 100000, ThreadsPerChild 100. Temporary solution seems to be using the TNS address string in OCILogon("user", "pass", "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SID=xxx))") So, problem seems to be in the Oracle/Oci8 name resolving in concurrent OCILogon()'s from multiple Apache/PHP-threads.