Blank Pages / Boş Sayfalar - Problemi

Blank-Pages (Boş Sayfalar) olarak da bilinen bu durum scriptin birden erken bir şekilde durdurulmasına sebebiyet veren bir hatadır. Hata sizlere birşeylerin ters gittiğini göstermek isteyen bir uyarıdır. Ancak yinede Bazen bu sorunun nerden kaynaklandığını bulmak düşündüğünüzden daha zor olabilir.

Herhangi bir destek forumuna “yardım edin, beyaz(boş) sayfa hatası alıyorum” demenizin size ciddi bir faydası bulunmayacak, kimse sorununuz açık ve seçik ifade edemiğiniz için doğru düzgün cevaplayamayacak, dolayısı ile problemi çözme girişiminiz başarısızlıka sonuçlanacaktır.
Ancak bunun yerine ilgi hatanın derinliklerine inerek kucuk bir “hata mesaları” listesi ve bunların hangi konumda tezahür ettiklerine dair bilgi toplamasını başarbilirseniz, sorunuzun çözümüne bir kademe daha yaklaşmış olursunuz. (Aynı zamanda sorunuzun ek kısmına da hangi versiyon xoops yazılımını kullandığınızı, mysql tablonuzun versiyon durumunu, apache bir sunucu da mı yoksa başka bir yerde mi sitenizi barındırdığınızı, hangi tema ve template setini yazılımla kullandığınızı da belirtmeyi ilke edinin.!!!)

A: Var olan hatayı şu adımları izleyerek gidermeye çalışın.

1. admin panelini görebiliyorsanız, hemen özellikler ”Ana” seçeneğine gelerek “Php Debugging”
(php bug düzeltici) yi çalıştırın.

2-) Admin paneline bir nedenden ötürü görüntüleyemiyorsanız, ancak mysql e ulaşma avantajınız var ise xoops_config SET conf_value=1 olarak güncelleyiniz. (“debug_mode” gördüğünüz alanda)

Not: “xoops_config” bilgisinin ise config table ile doğru olduğundan emin olunuz.

(Bu özellik XOOPS 2.2 de desteklenmemektedir., 2a bknz)

2a: XOOPS 2.2, de sitenizi root dizinine giderek “”recovery.php” i bulun, ayarları burada debug edin.

3.- eğer admin (yönetim) paneline hiçbirşekilde giremiyor, ulaşamıyor ve mysql tablolarını karıştırmak istemiyorsanız… şu dosyayı yeniden düzenleyin (edit edin)
“include/common.php” dosyasını açın, 83. satıra gelin “error_reporting(0);” komutunu “error_reporting(E_ALL);”. Olarak değiştirin.

4. If this still doesn’t work, your server or hoster may have turned off debugging in “/etc/php.ini” (linux) or “WIN_DIRECTORY/php.ini” (windows). Make sure there is a line in there “display_errors On”.

4) Eğer halen yaptığınız işlerden sonuç alamıyorsanız, hata devam ediyor yani düzelmiyor ise;
sunucunuz yada hosting firmanız “/etc/php.ini” (linux), “WIN_DIRECTORY/php.ini” (windows )modunu off pozisyonuna getirmiş olabilir. Burada şu özelliğin aktif olmasına dikkat edin…
olması gereken satır “”display_errors On”.

5-) Eğer bu dosyaya ulaşmanız mümkün değil yani yetkiniz yok ise; (örnek paylaşılmış hosting – shared), ve serveriniz “apache” websunucusunu kullanıyorsa, siz de bir “.htaccess” dosyası oluşturarak işlemi lehinize çevirebilirsiniz. (yani diğer ayarlar gormezden gelinir .htacces varsayılan olarak kabul edilir) .htacces dosyamız şu satırları içermelidir; “php_flag display_errors on”.

İşin esppirisi ise tam olarak bu komut dizisinin yerleştirileceği satırı bulmaktır. Bunun için sorun yaşadığınız url adresini bulun, ilgili dosyayı karşıt dizine yerleştirin..

Örnek: “someplace.com/xoops/” yada “someplace.com/xoops/index.php “ ise dosyanızın yeri

Yerleştireceğiniz konum şuna benzemelidir “someplace.com/xoops/modules/system/admin.php”

Ve dosyayı “modules/system” e koymalısınız.

B: Genel Hata Mesajları ve Fixleri ( Güvenlik Yamaları, Düzeltici Önlemler)

1. “Failed opening required…” ya da r “Undefined function…”

Bu hata daha çok gerekli bir dosyanın yüklenemediğini hatanın bu yüzden kaynaklandığını işaret eder…

Yapmanız Gerekenler;

Öncelikle gerçekten dosyanın işaret edilen yerde ve doğru konumda mevcut olup olmadığını kontrol etmek; Eğer öyle ise ikinci adımda dosyaya verilen izinleri(permissions) kontrol etmemiz gerekir (Dosya ftp sunucusunda Read konumunda olmalıdır)

Hatayı verdiren bir olasılık da dosyanın birşekilde işlevini kaybetmesi başka bir tanımla bozulması olabilir. Ya da belki de ftp istemciniz (programınız) file/directory isimlerini değiştirmiş de olabilir.
Ftp istemcinizin doğru çalıştığından emin olmak için program ayarlarını gözden geçirin. ( Bu aşamada ftp programnınızın “preserve directory structure” özelliğine sahip kalması gerektiğini unutmaayın, “preserve directory structure = dizin ve dosya isim şeklini aynen koru”, tabii isimin aynen korunması gerekir, örnek verirsek; example.php dosyası Example.php olarak sunucuya geçmemelidir)

Tüm bu özelliklerin doğru ayarlandığından ve istemcinizin düzgün çalıştığından emin olduktan sonra elinizdeki dosyaları bir kez daha upload etmeyi(aktarmayı) deneyin.

2. “Call to a member of a non-object”

Bu hatanın sıklıkla karşımıza çıkma sebebi ise, yazılımın veritabanına ulaşırken bir prolemle karşılaşıp bağlanamaması ile ilintilidir. Eğer bu hata şu satırda karşınıza çıkıyor ise;

Satır sırası 286; kernel/configitem.php , sonra database (veritabanı) için bağıntılar içeren mainfile.php dosyasındaki ayarların doğru yapıldığından emin olun. (Mysql yapılandırması ve izinlerin geçerli olmasına ve mysql in çalışır durumda olmasına dikkat edin)

Db ye direkt olarak ulaşmayı deneyin, eğer mümkün ise xoops’u yuklerken atadpğınız şifre ve kullanıcı adı bilgileri ile giriş yapın! Unutmayın ki bu noktada değişikleri yaptıktan sonra, “flush privileges” i çalıştırmalı ve mysql database i yeniden başlatmalısınız.

Bu problem aynı zamanda başka sebepler yüzünden de vuku bulabilir. Eğer php biliyorsanız, Hatayı veren yeri php satırlarında gözden geçirin.

Örnek: If you see “$xoopsDB->query(’blah’);” goruyorsanız $xoopsDB nin nesne olmadığını bilin, bu sadece db nin doğru şekilde bağlanamadığını gösterir.

Tabii bunlar, olabilecek sorunlara yonellik, size fikir verdirici çözüm yollarıdır. Bazen sorunları çözebilmek için daha detaylı birşekilde araştırma yapmanız gerekebilir.

3. “Cannot redeclare class …”

Yukarıdaki bu hatanın tezahür etme sebebi ise sıklıkla non-standart(standart olmayan) modüllerin install etdilmesinden kaynaklanır. Bazı modüller henüz geliştirilme aşamasındadırlar ve henüz xoops2 ye adapte edilmemiş ya da gerekli deneme testleri yapılmamış olabilir. Büyük ihtimalle modül kodlarının yazarı, “include_once” komutunun yerine “include” kodunu tercih etmiştir buda program bunyesinde bir karışılığa sebebiyet veriyordur. Sorunun telafisi için bu modülün çalışması de-aktif edilebilir/engellenebilir. (Ya da uyumlu güncel modüllerle değiştirilir)

• Şu şekilde de sonuç alabilirsiniz; ilgili satıra gidin # olayları şuna uyumlandırın include(’yourfile’); to include_once(’yourfile’); - ackbarr

C. Possible Fixes (Compiled off of the XOOPS Forums)

C. Olası Fixler (Xoops Destek Forumlarından Derlenmiştir)

Aşağıda, Xoops kullanıcıları tarafından yaşanan türlü problemler ve bunlar için geliştirilmiş & denenmiş çözüm yollarını göreceksiniz.

Liste hazırlanırken belli bir sıralama kaygısı gözetilmeden hazırlanmıştır, başka deyişle her sorun genellikle birbirinden bağımsızdır ve siz her birine ayrı ayrı eğilebilirsiniz.

[1] php.ini dosyasında şu satırın register_globals=on şeklinde düzenlendiğinden emin olun!

Not: Xoops’un genel çekirdek yapısı için bu satırın “on” olması yüksek önem taşımaktadır. Xoops un bu satırı hatalı ise bazı modüller çalışmaz yada boş sayfalar gösterir.

[2] Bazı durumlarda PHP GZIP modülleri php ye duzgun eklenmemiş olabilir. Bu durumda XOOP admin(yönetici) paneline gidin (system>preferences) ve GZIP desteğini turn off yapın (kapatın)

[3] Xoops Yüklemesini yönergeleri doğru takip ederek gerçekleştirdiğinizden ve CHMOD ayarlarının (unix server, cache dirs) kurulumda tarif edildiği gibi düzenlendiğinden emin olun.

[4] Tema–Theme dosyalarınızı ilgili klasöre en baştan yeniden upload edin (aktarın).
Bazen ftp aktarımı esnasında dosyaların orjinalliği bozularak kimi hatalara sebebiyet verebilirler.
Öncelikle “phpkaox” temasını aktarın ve sistem özelliklerini bu theme üzerinden ayarlayın! (düzenleyin, gerçekleştirin)

[5] PHP 4.12 sürümü yada daha yenisini kullandığınızdan emin olun. (4.22 önerilmektedir-birçok fixlerin yapılmasından dolayı)

[6] XOOPS modülleri ile çelişen, karışan başka bir CMS (content management system, içerik düzenleme sistemi) kullanmadığınızdan emin olun… örnek : PHPNuke, PostNuke

[7] şunların CHMOD 777 ye uyarlandığından emin olun ; cache, uploads, templates_c directories

[8] Sunucunuzun Safe Mod özelliğini de-aktif etmeyi deneyin. (bu özellik gereksizdir ve önerilmez)

[9] Aşağıdaki İzinleri 2 kez Kontrol Edin!!!

755 - web sunucunuz tarafından yazılması gerekmeyen tüm dizinler/klasörler.
777 - web sunucunuz tarafından yazılması gereken tüm dizinler/klasörler
644 - web sunucunuz tarafından yazılması gerekmeyen tüm dosyalar
666 - web sunucunuz tarafından yazılması gereken tüm dosyalar
444 - mainfile.php

[10] Default Temayı (Varsayılanı) değiştirin. Xoops 1 için hazırlanan onlarca tema Xoops2 için tam anlamıyla çevrilmemiş olabilirler. Düzgün entegrasyonu yapılmayan bu temalar sistem içerisinde zaman zaman türlü problemlere sebebiyet verebilirler. O yüzden temayı değiştirerek hareket etmeniz olası bir sorun için çözüm niteliğinde olabilir, böylece hatanın ne sebepten ötürü tezahür ettiğini de rahatlıkla bulabilirsiniz. Sistemdeki hatanın böylesi bir entagrasyon sonucunda oluştuğundan eminseniz lütfen bu durumu xoops.org destek forumlarına bildiriniz.
(tema ismi, tema designer’ını da belirtiniz)

[11] Try disabling all non-standard (i.e. anything not included with xoops download) modules. If you cannot get to your admin menu, you can do this by editing the xoops_modules table via mysql or phpmyadmin. Several modules are in early stages and have not been properly tested with xoops 2, sometimes causing problems. If this fixes your problem, try re-enabling one at a time, to determine exactly which module(s) are causing problems. If you find a problem with a module, please post on xoops.org forums and/or notify the author of the module.

[11] Bir sorunla karşılaştığınızda işe tüm non-standart modülleri de-aktif etmekle başlayın. (xoops download paketi ile gelmeyen tüm 3.parti modüller buna dahildir!) Eğer hatadan ötürü admin paneline erişim şansınızı kaybetti iseniz, bu işlemi mysql üzerinde şu şekilde de yapabilirsiniz.
Mysql e PhpMyadmin kullanarak ulaşın, xoops_modules table ‘ı gerektiği şekilde düzenleyin. Bazı modüller henüz Xoops2 için uyarlanmamış yada test edilmemiş bu yüzden sorunlar yaşıyor olabilirsiniz. Evet, mysql i düzenledikten sonra sorununuz düzeldi ise, ilgili komutu bir kez daha “on” olarak belirleyin –Aktif Edin!!! Bu şekilde deneme yanılma ile hangi modülün sorun yarattığını bulabilirsiniz. Eğer sorun yaratan modülü bulduğunuzdan eminseniz lütfen bu durumu xoops.org destek forumlarına bildiriniz.
(tema ismi, tema designer’ını da belirtiniz)

[12] Added by carnuke … if [url]http://mysite.com/user.php[/url] returns a blank page, see this FAQ here

[12] Carnuke Tarafından eklenen sorunun detayları için; FAQ u ziyaret edin.

Olası Hata : [url]http://mysite.com/user.php[/url] Sonuç : Blank Page (Boş Sayfa)

[13] Mysql uzantısının php.ini dosyasında yüklendiğinden emin olun! extension=mysql.so

Aşağıdaki Detaylar; Max-Realms tarafından 2005/3/26 1:06:34 tarihinde girilmiştir.

In my case, I got blank pages without debug errors showing. After a while of troubleshooting, I found that my database “user” had exceeded max_questions (50,000 per hour).

Benim sorunumda ben herhangi vir debug hatası (error) ile karşılaşmadan boş sayfa hatası alıyorum? Kısa bir araştırma sonucunda veritabanımında şunun oluştuğunu farkettim

My server is hosted, so I can’t change anything there. However, I found that if I created several more database users and gave them each full access to the xoops database, this problem was fixed. I don’t know anything about Mysql, but perhaps when a db has multiple users, they share the load.

Serverim hosted, o yüzden herhangi bir değişiklikte bulunamıyorum. Ancak küçük bir araştırma ile birkaç db daha yaratırsam ve userlara full acces(tam erişim) verirsem –xoops db’ye…
Problem çözülüyor. Mysql konusunda bir şey bilmeme rağmen db nin yükünü azaltmak için düşündüğüm paylşaştırma girişimi pozitif sonuç verdi.



XoopSTurkey 'den aLıntı...

Etiketler:
Beğeniler: 0
Favoriler: 0
İzlenmeler: 455
favori
like
share