|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2004-08-18 00:44 UTC] bojo at gvea dot com
Description: ------------ The original bug found in PHP 5.0.0, referenced here: http://bugs.php.net/bug.php?id=29127 was never actually resolved. PHP 5.0.1 continues to give the following error under IIS 6.0 on Windows 2003 Server: PHP has encountered an Access Violation at [random memory address]. Expected result: ---------------- Page processes completely. Actual result: -------------- Program bails with the following error: PHP has encountered an Access Violation at [random memory address] PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Oct 26 09:00:01 2025 UTC |
This error is following me on 3 different server configs, from php 4 version on. I encountered this error on combination of: - Windows server (XP, 2000 server, 2003 server) - IIS 5.0, 5.1 and 6.0 - PHP from 4 to latest 5.1.0b2 - MySQL from versions 4.0.x to latest 5.0.7 beta3 Finally, I was able to reproduce the bug and eliminate it! But only in one single case: This PHP code produced Access Violation; It is only weird, that the EXACT THE SAME code worked without problems for months, but then, suddenly, it begins constantly producing Access Violation error: for($i=0;$i<$rows;$i++) { $sqls="UPDATE sms_log SET delivered_date=\"$delivered_date[$i]\", send_date=\"$send_date[$i]\", delivered_status=\"$state[$i]\" WHERE msg_id=\"$msg_id[$i]\" AND to_user RLIKE $to_user[$i]"; $rs=mysql_query($sqls); } Now, I only changed the UPDATE to UPDATE LOW_PRIORITY, and Error was gone! Notise the only difference of UPDATE priorite switch: for($i=0;$i<$rows;$i++) { $sqls="UPDATE LOW_PRIORITY sms_log SET delivered_date=\"$delivered_date[$i]\", send_date=\"$send_date[$i]\", delivered_status=\"$state[$i]\" WHERE msg_id=\"$msg_id[$i]\" AND to_user RLIKE $to_user[$i]"; $rs=mysql_query($sqls); } The only concern I have is that the whole loop of queries took quite a long time to execute, even if they were executed in some other PHP application. I did tests with phpMyAdmin program, and inserted the whole bunch of about 50 queries from the mentioned loop into SQL query textbox. It took around a minute to execute! BUT if I executed the SAME bunch of queries from the command prompt, directly to MySQL, it executed in a second! THEREFORE it is NOT MySQL issue, but is related to how PHP executes MySQL statements. It might me php_mysql.dll library, might be libmysql.dll, or PHP core itself. Hope this would help with determining the cause of this wide spread and unpredictable error.