Apache hata ve kilitlenme

2 Cevap php

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

Ben mysql içinde yaklaşık 11 tablolar var. Benim web uygulaması her run (HTML / jQuery / PHP / MySQL) tablo 2'de yaklaşık 100 satırları doldurur. (Tablo biri 20MB kadar boyutta veri yükledi 2 Uzun blob sütun vardır, ben max_allowed_packet boyutu değişti my.ini dosyasında 32M)

Tablonun birinde satır sayısı> 1500 ulaşıncaya kadar uygulama yaklaşık 3 hafta boyunca çalışıyor.

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

Ben iki tablo (1500> satırlar) temizlerseniz. Hala sorun görülmektedir.

Ben tabloları güncellemek için PDO PHP kullanıyorum.

Bu bir engelleyici oluyor gibi kimse bana rehberlik eder.

Regards, Mithun

2 Cevap

PROBLEM:

Ben bir 2GB dosya boyutu duvara vurmak bir şüphe var. Kurulum ile 2 problemler:

  • İlk sorun: Siz windows bu yayınlanıyor.
  • İkinci sorun: Siz windows bu yayınlanıyor. :-)

REASON:

Şaka bir yana, MySQL mağazalar kendi kök klasöründe veriler (örneğin C: \ Program Files \ MySQL \ MySQL Server 5.0 \ data). Her alt-klasör MySQL örneğine bir db karşılık gelir. Her klasörünün içine tabloları karşılık uzantısı .frm ile bir dosya var. Eğer içinde yüklenenler depolamak tablo 2 GB sınırına yaklaşıyor olmadığına bakın. Bu ne yazık ki Windows XP gerçekten zor zamanı dosyaları ile ilgili olan kabaca yaklaşık 2 GB (çoğu dosyaların daha küçük 20 MB olduğunu varsayarsak) - Eğer yüklenenler UP TO 20 Mb * 1500 satır saklamak bir sütun olduğunu düşünüyor 2GB daha büyük - dosya sistemi ve işletim sistemi sınırlamaları. Bu insanların bakış açısı ile belaya aynı nedenle - onlar sıralamak ya da onların e-postaları temiz değil çünkü.

SOLUTION:

Üçüncü sorun - bir db ikili verileri depolamak - asla iyi bir fikir. Diskte saklamak - ve sadece db bunun (adı veya yolu) için başvuru tutun. Eğer büyük dosya boyutlarını destekler nix sistemi * taşırsanız ya da bir süre için geçerli kurulum tutabilirsiniz. Ama bu yine de doğrudan DB o boyutta ikili veri depolamak için kötü bir fikirdir. Ayrıca DB yavaş arar yapar ve yedekleri, çok daha yavaş (MySQL hiç de kolay artan yedek olmadığı için)

Umut olur.

EDIT:

Ben WAMP kullanıyorsanız bu yana, sizin MySQLfolder sizin WAMP yükleme klasöründe olacağını söylemeyi unutmuşum. Varsayılan olarak ben c olması gerektiğini düşünüyorum: \ wamp \ mysql \ data - ama emin hatırlamıyorum. Ben genellikle Windows XAMMP kullanın.

Bu neden oluyor olası nedenleri çok sayıda bulunmaktadır. Eğer bellekteki tüm 20 MB nesnelerin bir dizisini tutuyor? O büyüdükçe size bellek dışında noktasına apache başına işlem boyutu artan olabilir.