Saya menghadapi Masalah Aneh yang pernah ada di Magento. kami menggunakan versi 1.9.0.
dari 2 bulan terakhir, situs langsung kami "kosong" atau "terus memuat" untuk peramban bekas. Berarti di browser ini kami mengunjungi situs banyak kali.
di beberapa browser, ini berfungsi dengan baik. dalam beberapa menunjukkan kosong.
tapi backend bekerja dengan baik di semua browser.
kami menghadapi masalah di chrome, mozilla, opera, dan semua browser lainnya.
1) Jika kita menghapus riwayat browser [cache dan cookie], ini tidak akan berfungsi.
2) Jika kita membuka situs yang sama di jendela pribadi, ini berfungsi.
3) Jika kita membuka situs di browser yang baru diinstal, itu berfungsi untuk beberapa waktu. lagi kosong setelah kami menggunakan situs.
4) Jika kita menghapus folder var / session, maka itu akan mulai berfungsi untuk semua browser untuk beberapa waktu. lagi situs kosong.
5) kadang-kadang, situs akan terus memuat dan tidak akan pernah memuat ....
Saya memeriksa system.log & exception.log . tapi sepertinya tidak ada kesalahan yang terkait dengan ini. kami menggunakan https untuk halaman aman . bahkan kami memiliki aplikasi Android langsung untuk situs ini. terkadang kita akan mendapatkan kesalahan fatal:
**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
kita atur memory_limit = 1512 Mb di php.ini
di .htaccess kami memiliki file berikut.
php_value memory_limit 1512M php_value max_execution_time 18000
kami membatalkan komentar ini:
ini_set('display_errors', 1);
tetapi tidak ada kesalahan ditampilkan di frontend. Ini adalah log kesalahan apache :
child pid 23845 keluar sinyal Segmentasi kesalahan (11), mungkin coredump di / etc / apache2
Benar-benar berjuang untuk menyelesaikan masalah ini. Apakah masalah ini terkait dengan kode kami atau apakah masalah ini terkait dengan sisi server?
apakah cookie browser adalah masalah utama? Jika demikian, apa yang perlu dilakukan untuk mengatasi masalah cookie ini untuk semua browser. mengapa ini mulai berfungsi setelah kami menghapus folder sesi?
Jawaban:
Pertama-tama aktifkan mode Pengembang di
.htaccess
file Anda , tambahkan berikut ini di akhir file:SetEnv MAGE_IS_DEVELOPER_MODE "true"
Edit berikutnya
index.php
dan batalkan komentar pada baris:#ini_set('display_errors', 1);
Baris yang dirujuk:
Selanjutnya login melalui SSH dan cari file dump inti di bawah
/tmp
sebagai kesalahan segmen kesalahan yang disebutkan. Kadang-kadang juga bisa di root/
atau direktori root dari situs itu sendiri misalnya:/var/www/html/videomergerapp/
.Jika Anda tidak dapat menemukan file dump inti, Anda mungkin ingin menambahkan beberapa arahan tambahan ke PHP / Apache.
Lihatlah di sini:
Setelah Anda memiliki file dump inti, Anda dapat menggunakan
gdb
(jika--enable-debug
) digunakan ketika PHP dikonfigurasi. Anda dapat menentukan ini dengan mengeluarkan yang berikut dari Command Line:php -i | grep debug
atau hanya membuat file skrip php di root server web Anda dengan:<?php phpinfo(); ?>
dalam isinya dan melihat file melalui browser web untuk melihat nilai-nilai konfigurasi PHP.Jika tidak diaktifkan, maka Anda tidak akan bisa mendapatkan backtrace penuh ke dalam PHP itu sendiri tetapi hanya panggilan sistem tingkat tinggi dan / atau backtrace apache:
Jika Anda memiliki akses ke file dump inti yang mengeluarkan sesuatu seperti berikut ini akan memberi Anda backtrace untuk membantu menemukan titik kegagalan:
gdb /usr/local/apache2/bin/httpd /tmp/core.2027
Jika Anda hanya mengalami masalah acak di frontend dan tidak pernah backend, maka sebagian besar tanda menunjukkan kemungkinan masalah dengan pengkodean template Anda. Setelah Anda mengalami halaman kosong (dan / atau kesalahan ditampilkan jika Anda telah mengaktifkan mode pengembang dan tampilan kesalahan). Masuk ke admin Anda dan nonaktifkan semua cache dan siram semua cache dan penyimpanan cache.
Kemudian masuk ke
app/etc/local.xml
dan atur agar modul lokal yang dinonaktifkan menjadi true.<disable_local_modules>true</disable_local_modules>
Ini akan menonaktifkan pemuat otomatis dari memuat modul apa pun di
app/code/local
.Untuk menonaktifkan modul komunitas, paling mudah untuk menelusuri setiap file definisi modul Anda yang ditemukan
app/etc/modules
dan dinonaktifkan dengan mengatur simpul aktif ke false seperti:<active>false</active>
Dengan cara ini Anda dapat membantu mengesampingkan jika modul pihak ke-3 menyebabkan sumber masalah melalui proses eliminasi. CATATAN: Anda tidak dapat
disable_local_modules
dan cukup membaca semua modul NON-CORE Anda (apa pun yang Mage_ * abaikan!).Jika masih ada masalah maka saya akan mencoba paket templat default sementara dengan masuk ke System> Design dan mendefinisikan desain baru dari sesuatu seperti default atau base. Jika paket templat saham berfungsi maka Anda akan tahu penyebab kesalahannya adalah tinggal di file desain templat Anda (.phtml).
Banyak template yang saya temui buruk tentang penggunaan
Mage::getModel()->load()
dalam loop foreach karena ini adalah praktik yang buruk dan pada akhirnya dapat mengkonsumsi sejumlah besar memori server dan sumber daya.Magento memang memiliki alat Analisis Kode yang dapat membantu memindai file template Anda untuk menentukan apakah ada bagian kode yang salah:
Bacaan lebih lanjut:
Juga, mungkin bermanfaat bagi semua orang cache dan penyimpanan sesi yang Anda gunakan yang didefinisikan
app/etc/local.xml
.Semoga ini membantu!
sumber
Dugaan saya adalah ada rekursi dalam kode Anda. Mengedit file
lib/Varien/Db/Adapter/Pdo/Mysql.php
dan set$_debug
dan$_logCallStack
ke true. Ini harus mencatat tumpukan panggilan dalamvar/debug/pdo_mysql.log
file yang akan memberi Anda ide jika ada rekursi dalam kode Anda ketika dibutuhkan selamanya untuk memuat. Perhatikan bahwa file ini akan terus tumbuh sangat cepat sehingga idealnya mengaktifkannya ketika Anda berpikir masalah telah dimulai di situs.Cara lain adalah dengan menonaktifkan modul kereta / ekstensi yang menurut Anda bisa menyebabkan ini. Ini juga bisa berupa ekstensi harga yang mudah dikonfigurasi, coba nonaktifkan untuk sementara dan lihat apakah itu membantu mencegah masalah.
sumber
$_debugFile
dalam file Mysql.php dan pastikanvar
direktori Anda memiliki izin yang diperlukan untuk membuat folder dan file.Saya memiliki masalah yang sama di situs web pelanggan. Periksa Magento Anda untuk mengetahui malware.
Ini adalah skenario yang terkenal, biasanya itu adalah walware yang mengarahkan ulang konten pos pengguna ke situs web eksternal.
Mulai memeriksa index.php, mereka biasanya meretasnya. Gulirkan kode hingga akhir, juga periksa ke kanan dan di antara baris yang dikomentari dalam judul lisensi. Peretas digunakan untuk menyembunyikan kode dengan cara ini.
Anda memiliki "pemuatan selamanya" karena mencoba menghubungi situs web yang diblokir ISP Anda.
Seharusnya cukup mudah untuk menemukan malware, mencari string "base64", "eval", "mcrypt".
sumber
Saya telah mengalami perilaku serupa di Magento yang memiliki dua situs web. Situs itu memuat dengan baik selama beberapa halaman dan kemudian memuat selamanya.
Konfigurasi URL dasar salah. Pengaturan URL Basis Aman diatur ke situs web yang salah sementara URL Basis Tidak Aman diatur dengan benar.
Jadi untuk memperbaikinya jika admin bahkan tidak berfungsi dengan baik, nilai-nilai perlu diubah dalam tabel core_config_data untuk situs web yang benar yaitu mengatur URL yang tepat dengan "http: //" dan garis miring di bidang nilai yang sesuai dengan jalur "web / unsecure / base_url" dan "web / secure / base_url" untuk scope_id yang tepat mewakili ID situs web.
Perhatikan bahwa url aman adalah http hanya karena itu adalah situs web demo.
sumber