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.