doushang3352 2009-11-27 07:38
浏览 65
已采纳

Apache httpd错误和崩溃

I have a WAMP 2.0 server installed on Win XP . Apache version : 2.2.11 PHP Version : 5.3 MySQL : 5.1.36

I have about 11 tables in the mysql . Each run of my web application (HTML/Jquery/PHP/MySQL) fills about 100 rows in 2 of the tables.(One of the table has 2 Long blob columns where data of size upto 20MB is uploaded, I have changed the Max_allowed_packet size to 32M in my.ini file )

THe application works fine for about 3 weeks until the number of rows in one of the table reaches >1500 .

THen I see the httpd crash message (Apache httpd encountered error and needs to close )and it says illegal memory refernce Please find below some logs

szAppName : httpd.exe     szAppVer : 2.2.11.0     szModName : php5ts.dll     
szModVer : 5.3.0.0     offset : 0000c309     


C:\DOCUME~1\blrcom\LOCALS~1\Temp\WERc677.dir00\httpd.exe.mdmp
C:\DOCUME~1\blrcom\LOCALS~1\Temp\WERc677.dir00\appcompat.txt

If I clear the two tables (1500 > rows ). Still the problem is seen .

I am using PDO PHP to update the tables.

Can anyone guide me as this is becoming a blocker.

Regards, Mithun

  • 写回答

2条回答 默认 最新

  • dongmoyu0336 2009-11-30 23:24
    关注

    PROBLEM:

    I have a suspicion that you are hitting a 2GB file size wall. 2 problems with your setup:

    • First problem: You are running this on windows.
    • Second problem: You are running this on windows. :-)

    REASON:

    Jokes aside, Mysql stores data in its root folder (for instance C:\Program Files\MySQL\MySQL Server 5.0\data). Each sub-folder corresponds to a db in your instance of MySQL. Inside each folder there is a file with extension .frm which corresponds to your tables. See if the table you are storing your uploads in is approaching a 2 GB limit. Considering that you have a column that store uploads UP TO 20 Mb * 1500 rows - that is roughly around 2 GBs (assuming most of your files are smaller than 20 MB) Unfortunately Windows XP has really hard time dealing with files bigger than 2GB - limitations of the file system and OS. It is the same reason people get in trouble with their outlook - because they don't sort or clean their emails.

    SOLUTION:

    Third problem - You are storing binary data in a db - never a good idea. Store it on disk - and just keep reference to it (name or path) in your db. Or you can keep your current setup for a while if you move to **nix* system that supports larger file sizes. But this is still a bad idea to store binary data of that size in your DB directly. It also makes your DB searches slower, and backups MUCH slower (since there is no easy incremental backup in MySQL)

    Hope that helps.

    EDIT:

    I forgot to mention since you are using WAMP, your MySQLfolder would be in your WAMP installation folder. By default I think it should be in c:\wamp\mysql\data - but I don't remember for sure. I usually use XAMMP on Windows.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!