| Welcome to Lieben Knowledgebase! |

When apache crashes without any php errors while running a PHP script, you might find this in your apache logs:
[Tue Dec 01 22:03:11 2009] [notice] Parent: child process exited with status 128 -- Restarting.
[Tue Dec 01 22:03:11 2009] [notice] Apache/2.2.8 (Win32) PHP/5.2.6 configured -- resuming normal operations
[Tue Dec 01 22:03:11 2009] [notice] Server built: Jan 18 2008 00:37:19
[Tue Dec 01 22:03:11 2009] [notice] Parent: Created child process 3984
[Tue Dec 01 22:03:12 2009] [notice] Child 3984: Child process is running
[Tue Dec 01 22:03:12 2009] [notice] Child 3984: Acquired the start mutex.
[Tue Dec 01 22:03:12 2009] [notice] Child 3984: Starting 64 worker threads.
[Tue Dec 01 22:03:13 2009] [notice] Child 3984: Starting thread to listen on port 80.
Now there is alot of correspondence about this error, and alot of posts mention upgrading php and/or mySQL to fix this 'bug'. However, this error obviously occurs due to some PHP command that Apache can't stomach and simply terminates so PHP can't write an error in it's log.
In our case this error was being caused by passing bad parameters to a function. The following function sends the first parameter to mySQL.
logThis("blablabla '".mysql_insert_id()."'",2,2);
Obviously the sql function here is not correctly escaped and causing the problem, but PHP should catch this error and report it. Since that is not done and Apache crashes the child process we only see the apache error. If you encounter this error and upgrading php/mySQL does not help, think hard on your last code changes and check if any have to do with mySQL.
added by Jos on: 02-12-2009
keywords: Status 128, Apache 2, PHP, mySQL,