Magento 2’de En Sık Karşılaşılan 10 Problem ve Çözümleri

Magento 2 open source’da her sürümü güncellemesi yaptığınızda, modül ve tema yüklediğinizde hata alabilirsiniz. En sık karşılaşabileceğiniz hataları aşağıda listeledim.

Magento 2’de 2.4 versiyonundan sonra web yükleme kaldırıldı. Bundan dolayı komut satırında işlemlerinizi yapmak zorundasınız. Orta düzey linux bilmeniz gerekiyor. Linux hakkında bilginiz yoksa 1 günde linux kullanmak adlı yazımı okuyabilirsiniz.

Ayrıca orta düzey ingilizce gerekli çünkü bütün magento geliştirici kaynağını okumanız gerekli. İşlemleri yaparken root ile değil magento kullanıcısı ile yaptığınızdan emin olunuz.

 

1- File Permission, Dosya İzini Hataları

Dosya sisteminizi magentoya göre ayarlamanızı gerekiyor. Eğer ayarlama yapmasanız bolca hata alacaksınız. Umask, iki kullanıcılı sistem gibi alternatifleri var. Bunları paylaşımlı hostinglerde yapma ihtimaliniz düşük. Hetzner, digitalocean gibi firmalardan deneme için 1-2$’lık paketlerden alabilirsiniz.

https://devdocs.magento.com/guides/v2.4/install-gde/prereq/zip_install.html  adresinden detaylara bakabilirsiniz.

Not: Kesinlikle 777 hiç bir dosyaya yada klasöre izin vermeyin. Hatayı google’dan aratırken bu öneriye bolca karşılaşabiliyorsunuz.

2- Schema Hatası

Sinir bozucu hatalardan bir tanesi. Yüklediğiniz tema ve modüllerde database’de setup_module tablosuna kayıt etmez ise hata alabiliyorsunuz. Manuel olarak buraya veri girebilirsiniz. Eklenti yada modülünüzün hangi versiyonu kullanıyor ilk bunu kontrol etmelisiniz.

Bunu iki dosyada bulabilirsiniz.

1- app/code/vendor/modul_adi/registration.php

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
‘vendor_modulename’,
__DIR__
);

2- app/code/vendor/modul_adi/etc/module.xml

<?xml version=”1.0″?>
<config xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=”urn:magento:framework:Module/etc/module.xsd”>
<module name=”vendor_modulename” setup_version=”1.1.0″>
</module>
</config>

3- Demo Data Yükleme

Full demo data magento yüklemediyseniz ve sonradan yüklemek istiyorsanız aşağıdaki komutları giriniz.

php bin/magento sampledata:deploy

sonrasında

php bin/magento setup:upgrade

4- Cache Temizliği

Cacheleme sistemi magentoda oldukça gelişmiş. Bir değişiklik yaptığınız zaman cacheleri temizlemeniz gerekiyor. Bunun için aşağıdaki kodları yazmanız gerekliyor.

bin/magento cache:flush

bin/magento cache:clean

Gene de şunu yazın: rm -rf var/cache/* var/view_preprocessed/* generated/* pub/static/*

5- Cronların Çalışmaması

Kurulumdan sonra cronları ayarlamanız gerekiyor. Bunun için aşağıdaki kodları giriniz.

bin/magento cron:install

bin/magento cron:run

Cronları kaldırmak için: bin/magento cron:remove

Sonrasında crontab -l yazarak kontrol edebilirsiniz.

Not: Magento kullanıcısı ile yapın. Kodları çalıştıramıyorsanız bin klasöründe yer alan magento dosyasına izin vermeniz gerekiyor.

Bin klasörüne girdikten sonra

chmod u+x magento yapınız.

6- Modül, Eklenti Yükleme

Modül yüklemek sıkıntılı işlerden bir tanesidir. Bütün siteyi patlatabiliyor. Eğer modül yükleyeceksiniz mutlaka anlık yedek alın.  WordPresste olduğu gibi rahat bir yapısı yok.

Sitenizdeki yüklü modülleri görmek için

bin/magento module:status

komutunu kullanabilirsiniz.

Eklenti dosyalarını klasörlere attıktan sonra

bin/magento module:enable  modüladı  –clear-static-content

bin/magento setup:upgrade

bin/magento setup:di:compile

sonrasında  komutlarını yazınız.

7- Re-indexing

Panelde re-index’le alakalı problemler görüyorsanız cronları ilk kontrol etmenizi tavsiye ederim. Re-index’i çalıştırmak istiyorsanız

php bin\magento indexer:reindex komutunu kullanabilirsiniz.

8- Admin Dosya Yolu ve Şifresini Değiştirmek

Admin panel URL’i her sitede farklı olduğu için unutmuş olduğunuz durumlarda aşağıdaki komutu girebilirsiniz.

bin/magento info:adminuri

Admin şifresini değiştirmek için ise aşağıdaki SQL kodunu giriniz.

UPDATE admin_user SET password = CONCAT(SHA2(‘YENISIFRE’, 256), ‘:xxxxxxx:1’) WHERE username = ‘admin’;

9- Sistemin Yavaş Çalışması

Yavaş çalışan magento için yapılacak bir çok işlem bulunuyor. Magento opencart ve diğer sistemlere çok fazla sistem istiyor. Bunun için ilk olarak sunucunuzun istenilen donanımı sağladığını kontrol edin.

Sonrasında php, nginx, cloudlinux gibi ayarları kontrol etmenizde fayda var.

 

10- Domain Değiştirmek

core_config_data tablosundaki URL’leri değiştirebilirsiniz.

web/unsecure/base_url > http://www.yenidomain.com/
web/secure/base_url > https://www.yenidomain.com/

şeklinde güncelleyin.

Öncesinde mutlaka yedek alın ve bütün dosyalarınızı taşıdığınızdan emin olunuz.

 

Not: Magento çok sinir bozucu olabiliyor. Fakat sunduğu özellikler itibariyle piyasadakilerden kat ve üstün. Özellikle de kendi içerisinde gelen pazarlama, seo ve ürün yönetimi rakiplerine çok iyi.

 

 

 

 

Bir Cevap Yazın