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 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源