Canlı site ön tarafta boş veya yüklemeye devam edin ve asla yükleme yapmayın


23

Magento'daki en garip problemle karşılaşıyorum. 1.9.0 sürümünü kullanıyoruz.

son 2 aydan beri, canlı sitemiz kullanılmış tarayıcılar için "boş" veya "yüklemeye devam ediyor". Bu tarayıcıda siteyi defalarca ziyaret ettiğimiz anlamına gelir.

Bazı tarayıcılarda, iyi çalışıyor. bazılarında boş gösteriyor.

ancak arka uç tüm tarayıcılarda iyi çalışıyor.

krom, mozilla, opera ve diğer tüm tarayıcılarda sorunla karşı karşıyayız .

1) Tarayıcı geçmişini [önbellek ve çerezler] temizlersek çalışmaz.

2) Aynı siteyi özel bir pencerede açarsak, çalışır.

3) Siteyi yeni kurulmuş tarayıcılarda açarsak, bir süre çalışır. siteyi kullandıktan sonra tekrar boş bırakın.

4) var / session klasörünü temizlersek, bir süre tüm tarayıcılar için çalışmaya başlayacaktır. yine site boş.

5) bazen site yüklenmeye devam edecek ve asla yüklenmeyecek ....

System.log & exception.log dosyasını kontrol ettim . ancak bununla ilgili hiçbir hata olmadığı görülüyor. Güvenli sayfalar için https kullanıyoruz . hatta biz bu site için canlı Andriod uygulaması var . bazen ölümcül hatalar alırız:

**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

php.ini dosyasında memory_limit = 1512 Mb ayarladık

içinde .htaccess biz dosyaları şu var.

php_value memory_limit 1512M php_value max_execution_time 18000

Biz bunu uncommented:

ini_set('display_errors', 1);

fakat ön uçta hata yok. Bu apache hata günlüğüdür:

çocuk ücreti 23845 çıkış sinyali Segmentasyon hatası (11), / etc / apache2 içinde muhtemel coredump

Gerçekten bu sorunu çözmek için mücadele ediyor. Bu sorun kodumuzla mı ilgili, yoksa bu sorun sunucu tarafında mı?

tarayıcı çerezi asıl sorun nedir? Eğer öyleyse, bu çerez problemini çözmek için tüm tarayıcılarda yapılması gerekenler. oturum klasörünü temizlediğimizde neden çalışmaya başladı?

sitemize göz atarken bu sorunlarla karşı karşıyayız. görüntü tanımını buraya girin görüntü tanımını buraya girin görüntü tanımını buraya girin


Çerez meselesi olabilir mi? stackoverflow.com/questions/15491819/…
pzirkind

yapıştırdığım bağlantı arka uç için yapılmış, ancak ön uçta da çerez sorunu olabilir ... çerezin kullanım ömrü nedeniyle olabilir ve sunucunun zaman damgası kapalı olabilir
pzirkind

Bizim durumumuzda pzirkind arka uç tüm tarayıcılar için iyidir. Çerezin kullanım ömrünü kod ile artırmak zorunda mıyız? ve sunucunun zaman damgası hakkında anlamadım. Bunu yapmak zorunda mıyız?
Magento'daki Bebek

@Babby Magento’da bazen sunucu doğru zaman damgasına sahip değilse, geçerli tarihten önce sona eren bir çerez oluşturur, bu nedenle müşteri siteyi yeniden
yüklediğinde

@pzirkind Soru ya da zaman damgasındaki bir apache hatasının yayınlanması bu boş sayfanın nedeni olabilir mi?
Magento'daki bebek

Yanıtlar:


10

İlk önce .htaccessdosyanızdaki Geliştirici modunu etkinleştirin, dosyanın sonuna aşağıdakini ekleyin:

SetEnv MAGE_IS_DEVELOPER_MODE "true"

Sonra index.phpsatırı düzenleyin ve açıklama girin:

#ini_set('display_errors', 1);

Referans verilen satır:

Daha sonra SSH ile giriş yapın ve /tmpbelirtilen segment hatası hatası altında bir çekirdek döküm dosyasını arayın . Bazen /, örneğin sitenin kök dizininde veya kök dizininde de bulunabilir /var/www/html/videomergerapp/.

Herhangi bir çekirdek döküm dosyasını bulamıyorsanız, PHP / Apache'ye bazı ek yönergeler eklemek isteyebilirsiniz.

Buraya bir göz atın:

Çekirdek döküm dosyalarınızı aldıktan sonra , PHP yapılandırıldığında gdb(if --enable-debug) kullanabilirsiniz . Bu kararı, Komut Satırından aşağıdakileri çıkararak yapabilirsiniz:

php -i | grep debugveya basitçe web sunucunuzun kökünde bir php script dosyası oluşturarak: <?php phpinfo(); ?>içeriğinde ve PHP yapılandırma değerlerini görmek için dosyayı web tarayıcısı üzerinden görüntüleyebilirsiniz.

Etkinleştirilmemişse, PHP'nin kendisine tam bir geri dönüş elde edemezsiniz, ancak yalnızca daha üst düzey sistem çağrıları ve / veya apache geri gösterimi elde edemezsiniz:

Aşağıdaki gibi bir şey yayınlayan çekirdek döküm dosyasına erişiminiz varsa, başarısızlık noktasını bulmanıza yardımcı olmak için size geri bildirimde bulunabilirsiniz:

gdb /usr/local/apache2/bin/httpd /tmp/core.2027


Yalnızca ön uçtaki rastgele sorunları yaşıyorsanız ve asla arka uçta karşılaşmıyorsanız, çoğu işaret şablon kodlamanızla ilgili olası bir soruna işaret eder. Boş sayfaları deneyimledikten sonra (ve / veya geliştirici modunu ve hata gösterimini etkinleştirdiyseniz hata ekranları görüntülenir). Yöneticinize giriş yapın ve tüm önbellekleri devre dışı bırakın ve tüm önbellekleri ve önbellek depolarını temizleyin.

Ardından app/etc/local.xmlyerel devre dışı bırakma modüllerini girip true olarak ayarlayın.

<disable_local_modules>true</disable_local_modules>

Bu, otomatik yükleyicinin içine herhangi bir modül yüklenmesini önler app/code/local.

Topluluk modüllerini devre dışı bırakmak için bulunan app/etc/modulesve aktif düğümü false gibi ayarlayarak devre dışı bırakan modül tanım dosyalarınızın her birini taramak en kolay yoldur :

<active>false</active>

Bu şekilde, 3. parti bir modülün sorunun ortadan kaldırılmasıyla kaynağa sebep olup olmadığını saptamanıza yardımcı olabilirsiniz. NOT: CORE OLMAYAN modüllerin disable_local_modulestümü üzerinden geçemez ve basitçe geçemezsiniz (Mage_ * yoksay!).

Hala sorun varsa, Sistem> Tasarım bölümüne gidip varsayılan veya temel gibi yeni bir tasarım tanımlayarak geçici olarak varsayılan bir şablon paketini denerim. Eğer stok şablon paketleri çalışırsa, hatanın nedenini şablon tasarım dosyalarınızda (.phtml) yaşadığını anlarsınız.

Karşılaştığım birçok şablon Mage::getModel()->load()foreach döngülerinde kullanılması konusunda kötü , çünkü bu kötü bir uygulama ve sonuç olarak büyük miktarda sunucu belleği ve kaynaklarını tüketebiliyor.

Magento, bu kötü kod parçalarından herhangi birinin olup olmadığını belirlemek için şablon dosyalarınızı taramanıza yardımcı olabilecek Kod Analizi aracına sahiptir:

Daha fazla okuma:

Ayrıca, kullanmakta olduğunuz önbellek ve oturum deposunu tanımlayan herkes için yararlı olabilir app/etc/local.xml.

Bu yardımcı olur umarım!


Ben bu nad deneyeyim size bildiririm ....
Magento'da Bebek

var / session klasörünü temizledik. sorunumuzu bugüne kadar çözdü. ama bugün bu problem yine oldu. .htaccess de bunu eklediğimden: SetEnv MAGE_IS_DEVELOPER_MODE "true" ve uncomment ini_set ('display_errors', 1); bu hat. ve <disable_local_modules> true </disable_local_modules>. Daha fazla tjis hatası aldım: magento.stackexchange.com/questions/94559/…
Magento'daki bebek

Oturumu otomatik olarak silersem, tüm sorunu çözecekse, bazı chage'leri yaptıktan sonra herhangi bir sessin temizlemiyorum. Bir şeylerin çerezler ya da oturumlarla ilgili olduğunu düşünmüyor musun? Bunu çözmenin bir yolu var mı ?
Magento'da Bebek

@BabyinMagento Verilen bilgilere dayanarak sorunu çözebildiniz mi? Öyleyse, benzer bir sorunu yaşayanların sorunu neydi? Teşekkürler.
B00MER

1
Desteğin için çok teşekkür ederim. oturum klasörünü temizledik ve çerezle ilgili şeyleri varien.php'de gizledik. ama yine de kalıcı bir çözüm olup olmadığımızı kontrol etmek için biraz daha beklememiz gerekiyor. oturum klasörünü temizlediğimiz için çözümümüz var.
Magento'da Bebek

3

Benim tahminim kodunuzda bir tekrarlama olduğu. Dosyayı düzenleyin lib/Varien/Db/Adapter/Pdo/Mysql.phpve ayarlayın $_debugve $_logCallStacktrue. Bu, çağrı yığınını var/debug/pdo_mysql.logdosyaya kaydetmeli ve size sonsuza kadar sürmesi gerektiğinde kodunuzda bir özyinleme olursa size bir fikir vermelidir. Bu dosyanın çok hızlı bir şekilde büyümeye devam edeceğini ve sorunun sitede başladığını düşündüğünüzde ideal şekilde etkinleştirileceğini unutmayın.

Bunun bir yolu, bunun neden olabileceğini düşündüğünüz araç modüllerini / uzantılarını devre dışı bırakmaktır. Bu sizin de yapılandırılabilir basit fiyat uzantınız olabilir, geçici olarak devre dışı bırakmayı deneyin ve sorunun önlenmesine yardımcı olup olmadığına bakın.


"$ _debug" ve "$ _logCallStack" değerlerini true olarak değiştirdim, şimdi pdo_mysql.log dosyasını bekliyorum. ve günlük dosyalarımız çok fazla dolduruyor, neredeyse 90 gb'lik kayıt var. yapılandırılabilir uzantıyı 2 haftadan önce kurdum, bu sorun 2 aydan beri oldu. ama yine de diğer araba modüllerine bakmamız gerekiyor.
Magento'daki bebek

var / debug / pdo_mysql.log bu dosyayı şimdiye kadar bulamadım, ancak sistem ve istisna günlükleri oluşturuldu. "lib / Varien / SimpleXML / Config.php hattı 510" i esas olarak bu günlüğü görebilirsiniz
Bebek Magento

90 GB günlükler? Vaov! Bunları farklı bir yere yedekleyin ve dosyaları boşaltın. en azından site hızınızı arttırmanıza yardımcı olacak.
Kalpesh,

Evet haklısın. bir süre sonra silmeye devam ediyoruz. Bu sorun nedeniyle bu günlükleri nedir? ve şu ana kadar herhangi bir pdo_mysql.log bulamadım
Bebek Magento'da

$_debugFileMysql.php dosyasının değerini kontrol edin ve vardizininizin bir klasör ve dosya oluşturmak için gerekli izinlere sahip olduğundan emin olun .
Kalpesh

2

Aynı sorunu bir müşteri web sitesinde de yaşadım. Kötü amaçlı yazılım için Magento'nuzu kontrol edin.

Bu iyi bilinen bir senaryodur, genellikle kullanıcının gönderisini içeriğini harici bir web sitesine yönlendiren bir yazılımdır.

İndex.php'yi kontrol etmeye başlayın, genellikle keserler. Kodu sonuna kadar kaydırın, ayrıca sağdaki ve lisans başlığındaki yorumlanan satırlar arasındakileri kontrol edin. Bilgisayar korsanları kodu bu şekilde gizlemek için kullanılır.

ISS'nizin engellediği web sitelerine ulaşmaya çalıştığı için "sonsuza kadar yükleme" seçeneğine sahipsiniz.

Kötü amaçlı yazılımı bulmak, "base64", "eval", "mcrypt" dizgilerini bulmak oldukça kolay olmalı.



sitemiz 3 aydan önce hacklendi, bundan sonra sadece bu sorun geldi. fakat daha sonra sunucu tarafından birçok güvenlik önlemi aldık. Ancak hacklenmiş kodun hala sitede olduğunu ve problem yarattığını mı düşünüyorsun?
Magento'daki bebek

Şey, index.php'niz gayet iyi, ancak belirtileriniz gerçekten bazı müşterilerin web sitelerini hackleyen web sitelerinde gördüğüm gibi. Aşağıdaki kalıpları arayan tam bir arama yapmanızı öneririm: "base64", "eval", "mcrypt", "$ _POST". Size tonlarca yanlış pozitif verecekler, bu yüzden onları kontrol etmeniz gerekiyor. Yanlış bir şey bulamazsanız, size bir önbellek analizi veya adım adım xdebug analizi öneririm.
Phoenix128_RiccardoT 16:16

Bu kelimeleri site dosyalarımızda arayacağım.
Magento'daki bebek

sınırsız kere buluyorum: "base64" kodları çöz ve kodları çöz ........
Magento'daki bebek

2

Magento'da da iki web sitesi olan benzer bir davranış yaşadım. Site birkaç sayfa için iyi yükleniyor ve sonra sonsuza kadar yükleniyor.

Temel URL’lerin yapılandırması yanlıştı. Güvenli Temel URL ayarı, güvensiz Temel URL’si doğru bir şekilde ayarlandığında yanlış web sitesine ayarlanmıştır.

Bu nedenle, yönetici düzgün çalışmıyorsa bunu düzeltmek için, doğru web sitesi için core_config_data tablosunda değerlerin değiştirilmesi gerekir ; web sitesi kimliğini temsil eden doğru kapsam_deni için "web / unsecure / base_url" ve "web / secure / base_url" yolu.

görüntü tanımını buraya girin

Güvenli URL’nin http olduğunu, yalnızca bir demo web sitesi olduğu için unutmayın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.