Drupal: Fatal error: İzin bellek boyutu hatası belirli mevcut sayfaları düzenlerken

5 Cevap php
Fatal error: Allowed memory size of 18874368 bytes exhausted (tried to allocate 1481725 bytes) in __/public_html/includes/database.inc on line 224

Ben bu hata Drupal 6 ben aşağıdaki sayfaları (xx hakkındaki üzgünüm) düzenlemek çalıştığınızda her zaman oluşmaz yaşıyorum:

hxxp :/ / chipkin.com/fs-8700-125-stulz

hxxp :/ / chipkin.com/fs-8700-47-dnp-30

hxxp :/ / chipkin.com/fs8700-14-ge-mark-iv-speedtronic

hxxp :/ / chipkin.com/fs8700-74-veeder-root-serial-driver

Biz ancak ben bu soruna neden ne değildir eminim, daha fazla bellek tahsis php.ini dosyasına erişim zorunda değilsiniz barındırma paylaşılan konum. Herhangi bir fikir?

5 Cevap

Ben de paylaşılan bir bilgisayar üzerinde duyuyorum. İşte Drupal alanı kök klasörlerin birinde oluşturulmuş PHP.INI olduğunu:

[PHP]
memory_limit = 40M;
upload_max_filesize = 20M;
post_max_size 20M;
max_execution_time = 200;
max_input_time = 200;

Ben herhangi bir küresel sınırları ile daha fazla sorun var. Hoster php.ini devre dışı bırakmak veya geçersiz eğer ben emin değilim - benim değil, ve bunun bir cami olmalıdır.

Kesinlikle bir bellek sorunu - bu bellek sadece 18 megabayt bir Drupal sitesi çalıştırmak için zor olacak.

Sizin uzun vadeli çözüm hosts değiştirmek - Eğer (sınırlar dahilinde) php.ini ayarlamak için izin konak bol vardır. Bluehost.com bir örnektir.

Olası bir kısa vadeli çözüm modules dizinindeki kullanılmayan modülleri kaldırmak olacaktır. Her modül devre dışı olsa bile bellek biraz yiyor.

Önbelleğe alma ve devre dışı bırakma gibi şeyler statistics çok iyi, ancak temel sayfa düzenlemeleri, bellek sorunları alıyorsanız eğer onlar çok yardımcı olmaz.

Sen. Htaccess ile bellek sınırını belirleyebilirsiniz

. Sitenizin kök dizininde htaccess dosyasına aşağıdaki satırı ekleyerek deneyin:

php_value memory_limit 32M

Ben Drupal ile aşina değilim, ama söz konusu sayfa veritabanından veri büyük miktarda kapmak için çalışıyor? Bir tablonun tamamı için SELECT * gibi bir şey? Bir arama çok bellek ayırmaya çalışırken neden olduğunu açıklayabilir.

Host değişen bir seçenektir, ama bir şey veritabanından istenen verileri sınırlamak için yapılabilir eğer şimdi görülmeye değer olabilir.

Db istekte kod db kütüphane sınıfında olduğundan - Ne yazık ki hata iletisi belirli istek soruna neden olduğunu söylemek için çok şey yok. Eğer yığın izlemesi her türlü yapabilirim, eğer yardımcı olacaktır.

düzenlemek settings.php (genellikle siteler / default olarak) ve ekleme (veya değiştirme):

ini_set('memory_limit', '96M');

... Ya da ancak ihtiyacınız.