Pergunta

Eu tenho um servidor WAMP 2.0 instalado no Win XP. versão Apache: 2.2.11 PHP Versão: 5.3 MySQL: 5.1.36

Eu tenho cerca de 11 tabelas no mysql. Cada execução do meu aplicativo web (HTML / jQuery / PHP / MySQL) preenche cerca de 100 linhas em 2 das tabelas. (One da tabela tem 2 colunas blob Long, onde os dados de tamanho até 20MB é carregado, eu mudei o tamanho max_allowed_packet a 32M no arquivo my.ini)

O aplicativo funciona muito bem para cerca de 3 semanas até que o número de linhas em um dos alcances de mesa> 1500.

Então eu vejo a mensagem de acidente httpd (Apache httpd erro e precisa ser fechado encontrado ) E ele diz refernce memória ilegal Veja abaixo alguns 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

Se eu limpar as duas tabelas (1500> linhas). Ainda assim, o problema é visto.

Eu estou usando DOP PHP para atualizar as tabelas.

pode orientar alguém me como isso está se tornando um bloqueador.

Saudações, Mithun

Foi útil?

Solução

PROBLEMA:

Eu tenho uma suspeita de que você está acertando uma parede de tamanho de arquivo de 2 GB. 2 problemas com sua configuração:

  • Primeiro problema: Você está executando isso no Windows.
  • Segundo problema: Você está executando isso no Windows. : -)

MOTIVO:

Brincadeiras à parte, o MySQL armazena dados em sua pasta raiz (por exemplo C: \ Program Files \ MySQL \ MySQL Server 5.0 \ dados). Cada sub-pasta corresponde a um db em sua instância do MySQL. Dentro de cada pasta há um arquivo com extensão .frm que corresponde a suas tabelas. Veja se a tabela que você está armazenando seus uploads em se aproxima de um limite de 2 GB. Considerando-se que você tem uma coluna que armazenam os envios Até 20 MB * 1500 filas - que é aproximadamente cerca de 2 GBs (assumindo que a maioria de seus arquivos são menores do que 20 MB) Infelizmente Windows XP tem realmente difícil lidar tempo com arquivos maiores que 2GB - limitações do sistema de arquivos e sistema operacional. É a mesma razão as pessoas ficam em apuros com suas perspectivas -. Porque eles não classificar ou limpar seus e-mails

Solução:

Terceiro problema - Você está armazenando dados binários em um db - nunca é uma boa idéia. Armazená-lo no disco - e apenas manter a referência a ele (nome ou o caminho) no seu db. Ou você pode manter a sua configuração atual por um tempo se você se mover para nix ** * sistema que suporta maiores tamanhos de arquivo. Mas isso ainda é uma má idéia para armazenar dados binários desse tamanho na sua DB diretamente. Ele também faz suas pesquisas DB mais lento, e backups muito mais lento (já que não há backup incremental fácil no MySQL)

Espero que ajude.

EDIT:

Eu esqueci de mencionar desde que você está usando WAMP, o seu MySQLfolder seria na pasta de instalação WAMP. Por padrão Eu acho que ele deve estar em c: \ wamp \ mysql \ data - mas eu não me lembro ao certo. Eu costumo usar XAMMP no Windows.

Outras dicas

Existem muitas possíveis razões por que isso está acontecendo. Você está mantendo uma série de todos os objetos de 20 MB de memória? Como que cresce você poderia ser o aumento do tamanho por processo de apache para o ponto onde você está sem memória.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top