Estou enfrentando o problema mais estranho de todos os tempos no magento. estamos usando a versão 1.9.0.
nos últimos dois meses, nosso site ativo está "em branco" ou "continue carregando" para navegadores usados. Significa que neste navegador visitamos o site várias vezes.
em alguns navegadores, está funcionando bem. em alguns mostrando em branco.
mas o back - end está funcionando bem em todos os navegadores.
estamos enfrentando problemas no chrome, mozilla, opera e todos os outros navegadores.
1) Se limparmos o histórico do navegador [cache e cookies], ele estará funcionando.
2) Se abrirmos o mesmo site em janela privada, está funcionando.
3) Se abrirmos o site em navegadores recém-instalados, ele funcionará por algum tempo. novamente em branco depois que usamos o site.
4) Se limparmos a pasta var / session, ela começará a funcionar para todos os navegadores por algum tempo. novamente site em branco.
5) às vezes, o site continuará carregando e nunca será carregado ....
Eu verifiquei system.log & exception.log . mas parece que não há erros relacionados a isso. estamos usando https para páginas seguras . até temos o aplicativo Andriod ao vivo para este site. Às vezes, temos erros fatais:
**Fatal error**: Allowed memory size of 536870912 bytes exhausted (tried to allocate 85 bytes) in /lib/Zend/Db/Statement/Pdo.php or lib/Varien/Object.php or /lib/Varien/Db/Select.php or app/code/core/Mage/Core/Model/Config.php
definimos memory_limit = 1512 Mb no php.ini
em .htaccess , temos os seguintes arquivos.
php_value memory_limit 1512M php_value max_execution_time 18000
nós comentamos isso:
ini_set('display_errors', 1);
mas nenhum erro é exibido no front-end. Este é o log de erros do apache :
child pid 23845 sinal de saída Falha na segmentação (11), possível coredump em / etc / apache2
Realmente lutando para resolver este problema. Esse problema está relacionado ao nosso código ou ao lado do servidor?
O cookie do navegador é o principal problema? Em caso afirmativo, o que é preciso fazer para resolver esse problema de cookie para todos os navegadores. por que começou a funcionar depois que limpamos a pasta da sessão?
Respostas:
Primeiro, ative o modo Desenvolvedor no seu
.htaccess
arquivo, adicione o seguinte no final do arquivo:SetEnv MAGE_IS_DEVELOPER_MODE "true"
Em seguida, edite
index.php
e remova o comentário da linha:#ini_set('display_errors', 1);
Linha referenciada:
Em seguida, efetue login via SSH e procure um arquivo de despejo principal sob
/tmp
o erro de falha de segmento mencionado. Às vezes, ele também pode estar na raiz/
ou no diretório raiz do site em si, por exemplo:/var/www/html/videomergerapp/
.Se você não conseguir localizar nenhum arquivo de despejo principal, poderá adicionar algumas diretivas adicionais ao PHP / Apache.
Dê uma olhada aqui:
Depois de ter o (s) arquivo (s) de despejo principal, você pode usar
gdb
(se--enable-debug
) foi usado quando o PHP foi configurado. Você pode fazer essa determinação emitindo o seguinte na linha de comando:php -i | grep debug
ou simplesmente criando um arquivo de script php na raiz do servidor da web com:<?php phpinfo(); ?>
em seu conteúdo e visualize o arquivo via navegador da web para ver os valores de configuração do PHP.Se não estiver ativado, você não poderá obter um backtrace completo no próprio PHP, mas apenas chamadas de sistema de nível superior e / ou backache de apache:
Se você tiver acesso ao arquivo de despejo principal, emitir algo como o seguinte fornecerá um retorno para ajudar a encontrar o ponto de falha:
gdb /usr/local/apache2/bin/httpd /tmp/core.2027
Se você estiver enfrentando apenas problemas aleatórios no front-end e nunca no back-end, a maioria dos sinais apontará para um possível problema com a codificação do modelo. Depois de experimentar as páginas em branco (e / ou o erro será exibido se você tiver ativado o modo de desenvolvedor e a exibição de erros). Faça login no administrador e desative todos os caches e limpe todos os caches e armazenamentos de cache.
Depois, entre
app/etc/local.xml
e defina os módulos locais de desativação como true.<disable_local_modules>true</disable_local_modules>
Isso desativará o carregador automático de carregar qualquer módulo
app/code/local
.Para desativar os módulos da comunidade, é mais fácil analisar cada um dos arquivos de definição de módulos encontrados
app/etc/modules
e desativados, configurando o nó ativo como false, como:<active>false</active>
Dessa forma, você pode ajudar a descartar se um módulo de terceiros está causando a origem do problema pelo processo de eliminação. NOTA: Você não pode
disable_local_modules
e simplesmente passa por todos os seus módulos NÃO CORE (qualquer coisa que Mage_ * ignore!).Se ainda houver problemas, tentarei temporariamente um pacote de modelos padrão acessando Sistema> Design e definindo um novo design de algo como padrão ou base. Se os pacotes de modelos de ações funcionarem, você saberá que a causa do erro está nos arquivos de design do modelo (.phtml).
Muitos modelos que encontrei são ruins sobre o uso de
Mage::getModel()->load()
loops foreach, pois isso é uma prática ruim e pode consumir grandes quantidades de memória e recursos do servidor.O Magento possui uma ferramenta de análise de código que pode ajudar a verificar seus arquivos de modelo para determinar se existe algum desses trechos de código incorretos:
Leitura adicional:
Além disso, pode ser útil para todos em que armazenamento de cache e sessão você está usando e está definido
app/etc/local.xml
.Espero que isto ajude!
fonte
Meu palpite é que há uma recursão no seu código. Edite o arquivo
lib/Varien/Db/Adapter/Pdo/Mysql.php
e defina$_debug
e$_logCallStack
como true. Isso deve registrar a pilha de chamadas novar/debug/pdo_mysql.log
arquivo, o que deve lhe dar uma idéia se houver uma recursão no seu código quando levar uma eternidade para carregar. Observe que esse arquivo continuará crescendo muito rapidamente, portanto, habilite-o idealmente quando você achar que o problema foi iniciado no local.Outra maneira é desativar os módulos / extensões com erros que você acha que podem causar isso. Também pode ser sua extensão simples de preços configuráveis, tente desativá-la temporariamente e veja se isso ajuda a evitar o problema.
fonte
$_debugFile
no arquivo Mysql.php e verifique se o seuvar
diretório possui as permissões apropriadas necessárias para criar uma pasta e um arquivo.Eu tive o mesmo problema no site de um cliente. Verifique seu Magento quanto a malware.
Esse é um cenário bem conhecido, geralmente é um walware que redireciona o conteúdo da postagem do usuário para um site externo.
Comece a verificar o index.php, eles geralmente o cortam. Role o código até o final, verifique também à direita e entre as linhas comentadas no cabeçalho da licença. Os hackers são usados para ocultar o código dessa maneira.
Você tem o "carregamento permanente", pois ele tenta entrar em contato com sites que seu ISP bloqueou.
Deve ser bastante fácil encontrar o malware, procurar por "base64", "eval", "mcrypt".
fonte
Eu experimentei um comportamento semelhante em um Magento que tinha dois sites. O site estava carregando bem por algumas páginas e depois carregando para sempre.
A configuração dos URLs base estava incorreta. A configuração do URL da Base segura foi definida como o site errado, enquanto o URL da base não segura foi definido corretamente.
Portanto, para corrigir isso, se o administrador nem estiver funcionando corretamente, os valores precisam ser alterados na tabela core_config_data para o site certo, ou seja, defina o URL correto com o "http: //" e uma barra no campo de valor correspondente a o caminho "web / inseguro / base_url" e "web / secure / base_url" para o scope_id correto que representa o ID do site.
Observe que o URL seguro é http apenas porque era um site de demonstração.
fonte