PDA

Orijinalini görmek için tıklayınız : PrestaShop 1.6 Kurulum Sonrası Beyaz Sayfa Sorunu ve Çözümü



erkolay
20.Ocak.2015, 18:54
Dün PrestaShop kurulumu yapan bir hosting müşterimiz, bizi arayıp, başarıyla PrestaShop kurulumu yaptığı halde sitede beyaz sayfa hatası olduğunu belirtti. Biz de duruma el atıp sunucudan kaynaklı bir eksiklik var mı diye inceledik.

Kurulum esnasında sistem uyumluluğu ekranına baktığımızda "Sihirli Tırnaklar"ın devre dışı olduğu yazıyordu. PHP Sihirli Tırnaklar'ın açılması konusunu araştırdım. Bizzat php.net resmi sitesinde, üstelik Türkçe resmi çevirisi ile de konu hakkında kesinlikle diye belirtilerek olumsuz bir yaklaşım sergilenmiş. Php.net'in açıklamasında, PHP Sihirli Tırnaklar'ın Php 5.3'ten beri önerilmediği ve artık kesinlikle kullanılmaması gerektiği yazıyor. PHP 5.6 sürümünde zaten hiç olmayacakmış sihirli tırnaklar, yani yasaklanacakmış.

Biz de bu durumda başka çözüm yolu arayışına girdik. PrestaShop veya başka herhangi bir script kurulumundan sonra beyaz sayfa çıkması, aslında o sayfada göremediğimiz bir hata kodunun olması gerektiği fikri ile hareket edip, sistemin hata kodlarını belirten dosyalarında arama yaptık. PrestaShop sisteminde config klasörü içindedir gerekli ayar dosyaları. Buradaki defines.inc.php dosyasında aradığımız hata kodlarının görünüp, görünmemesini düzenleyen kodu bulduk:


/* Debug only */

Bu satırın altında;


if (!defined('_PS_MODE_DEV_'))
define('_PS_MODE_DEV_', false);

Bu satırlar var. Buradaki 2. satır bize sorunun kaynağını gösteren koddur.

define('_PS_MODE_DEV_', false);

Şu şekilde değiştirerek:


define('_PS_MODE_DEV_', true);

Bu kodun sonundaki false değerini True yapınca beklediğimiz gibi sitede sorunun kaynağı göründü.

Ortaya çıkan sorun, diğer bazı scriptlerde de gördüğümüz gibi, sistemdeki default PHP limitlerinin yetersizliğiydi. Böyle durumlarda en pratik yöntem olarak .htaccess dosyasında, özel değerler belirtilerek limitlerin arttırılmasıdır. Sunucuyu da aşırı zorlamalara neden olmamak için bu konuda makul değerleri kullanmak gerekir. Siz de aşağıdaki değerleri yazarak bu sorunun üstesinden gelebilirsiniz.

.htaccess dosyanızdaki kodların altına şunları ekleyip kaydedin:

#Change upload limits
php_value memory_limit 50M
php_value post_max_size 50M
php_value upload_max_filesize 50M
php_value max_execution_time 900
#Change upload limits end

Geçmiş olsun. Başlığa 1.6 sürüm yazdık ama diğer versiyonlarda da aynı sorun olursa bu yolla çözüm sağlayabilirsiniz.

erkolay
14.Şubat.2015, 16:46
Yine yukarıdaki gibi defines.inc.php dosyasından hata kodlarının görünümünü gerçekleştirdikten sonra: Eğer şu şekilde hata kodu ile karşılaşırsanız:


Fatal error: Call to undefined method Shop::getContextShopID() in /public_html/satis/classes/Configuration.php on line 160

config klasöründeki config.inc.php dosyasındaki şu kodu bulalım:


setlocale(LC_CTYPE, $locale);

Bu kodun başına iki adet slash // ekleyerek komutu pasifleştirelim. Yani şu şekilde değiştirip kaydedelim:


//setlocale(LC_CTYPE, $locale);

Bizzat tarafımdan denenip ilgili sorun çözülmüştür.

erkolay
19.Mayıs.2015, 13:00
Şu an yine bu hatalardan arındırarak yeni bir mağaza kurulumu yapmaktayım: www.keyandalarm.com

deniz
19.Mayıs.2015, 13:10
Hayırlısı olsun usta. Bu mağazada gelen görüntüler scriptte otomatik bulunuyor sanırım. Sitenin adı ile ilgisiz içerikler var da...

Sir.Vanity
19.Mayıs.2015, 13:33
Hayırlı olsun sinan abi.