Magento problemen zoals wit scherm en 500 errors kunnen frustrerend zijn. In deze handleiding helpen we je de meest voorkomende problemen op te lossen.

Eerste stappen bij problemen

Voordat je begint met troubleshooten:

  1. Controleer de error logs
  2. Schakel development mode in (tijdelijk)
  3. Check recente wijzigingen - wat is er veranderd?
  4. Maak een backup voordat je iets aanpast

Developer mode inschakelen

Om gedetailleerde foutmeldingen te zien:

bin/magento deploy:mode:set developer

Let op: Schakel dit uit na troubleshooting voor betere performance.

Wit scherm oplossen

Een wit scherm (White Screen of Death) betekent een fatale PHP error.

Stap 1: Check error logs

# Magento error log
tail -100 var/log/exception.log
tail -100 var/log/system.log

# PHP error log
tail -100 /pad/naar/logs/error.log

# Apache error log
tail -100 /var/log/apache2/error.log

Stap 2: PHP errors tonen

Voeg tijdelijk toe aan index.php:

ini_set('display_errors', 1);
error_reporting(E_ALL);

Stap 3: Veelvoorkomende oorzaken

Memory limit

# Check huidige limiet
php -i | grep memory_limit

# Verhoog via .htaccess
php_value memory_limit 2G

Corrupte cache

rm -rf var/cache/*
rm -rf var/page_cache/*
rm -rf generated/*

Permissies

find var generated pub/static pub/media -type d -exec chmod 755 {} \;
find var generated pub/static pub/media -type f -exec chmod 644 {} \;
chmod u+x bin/magento

500 Internal Server Error

Stap 1: Check .htaccess

Een corrupte .htaccess is een veelvoorkomende oorzaak:

  1. Hernoem .htaccess naar .htaccess_backup
  2. Download een verse .htaccess van Magento GitHub
  3. Test de website

Stap 2: PHP versie

Controleer of de PHP versie compatible is:

  • Magento 2.4.6+: PHP 8.1 of 8.2
  • Magento 2.4.4-5: PHP 8.1

Stap 3: Database connectie

Test de database connectie:

  1. Check credentials in app/etc/env.php
  2. Test connectie via phpMyAdmin
  3. Controleer of database server draait

Stap 4: DI compilatie

rm -rf generated/*
bin/magento setup:di:compile

Cache problemen

Alle cache legen

bin/magento cache:clean
bin/magento cache:flush

Specifieke cache

# Alleen configuratie cache
bin/magento cache:clean config

# Alleen full page cache
bin/magento cache:clean full_page

Handmatige cache verwijdering

rm -rf var/cache/*
rm -rf var/page_cache/*
rm -rf var/view_preprocessed/*
rm -rf pub/static/frontend/*
rm -rf pub/static/adminhtml/*
rm -rf generated/*

Index problemen

Index status controleren

bin/magento indexer:status

Alle indexen opnieuw opbouwen

bin/magento indexer:reindex

Specifieke index

bin/magento indexer:reindex catalog_product_price
bin/magento indexer:reindex catalogsearch_fulltext

Admin panel problemen

Admin laadt niet

  1. Check admin URL

    bin/magento info:adminuri
    
  2. Reset admin URL

    bin/magento config:set admin/url/use_custom 0
    bin/magento config:set admin/url/use_custom_path 0
    
  3. Leeg cache

    bin/magento cache:clean
    

Kan niet inloggen

  1. Ontgrendel het account en maak zo nodig een nieuw admin-account aan. Magento heeft geen CLI-commando om het wachtwoord van een bestaand account te wijzigen:

    bin/magento admin:user:unlock adminusername
    bin/magento admin:user:create --admin-user=nieuweadmin --admin-password='KiesEenSterkWachtwoord1' --admin-email=jij@example.nl --admin-firstname=Voornaam --admin-lastname=Achternaam
    

    Log in met het nieuwe account en stel het wachtwoord van het oude account opnieuw in via System > Permissions > All Users.

  2. Check account status in database (admin_user tabel)

Extensie problemen

Problematische extensie vinden

# Schakel alle extensies uit
bin/magento module:disable --all

# Schakel core modules weer in
bin/magento module:enable Magento_Backend Magento_Store ...

# Test website

# Schakel extensies een voor een in
bin/magento module:enable Vendor_Module

Extensie noodverwijdering

Via database als CLI niet werkt:

  1. Ga naar phpMyAdmin
  2. Zoek setup_module tabel
  3. Verwijder de problematische module entry
  4. Leeg var/cache manueel

Database problemen

Melding "Please upgrade your database"

Deze melding zie je als de code nieuwer is dan de database, bijvoorbeeld na het installeren of updaten van een extensie zonder setup:upgrade:

bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy -f nl_NL
bin/magento cache:flush

Database repareren

# Via Magento CLI
bin/magento setup:db:status
bin/magento setup:db-schema:upgrade
bin/magento setup:db-data:upgrade

Tabellen repareren via phpMyAdmin

  1. Selecteer alle tabellen
  2. Kies "Repair table" uit dropdown
  3. Voer uit

Onderhoudsmodus

Zet je shop in onderhoudsmodus terwijl je een probleem oplost of updates uitvoert, zodat bezoekers geen foutmeldingen of een half werkende shop zien:

# Inschakelen
bin/magento maintenance:enable

# Status bekijken
bin/magento maintenance:status

# Uitschakelen
bin/magento maintenance:disable

Met bin/magento maintenance:enable --ip=<jouw IP-adres> houd je zelf toegang tot de shop tijdens het onderhoud.

Debugging tips

Profiler inschakelen

bin/magento dev:profiler:enable

Check dan Profiler output onderin de pagina.

Query logging

In app/etc/env.php:

'db' => [
    'connection' => [
        'default' => [
            'profiler' => [
                'class' => '\\Magento\\Framework\\DB\\Profiler',
                'enabled' => true
            ]
        ]
    ]
]

Browserconsole

Geen PHP-fout, maar werkt een onderdeel van de pagina niet (knoppen reageren niet, de checkout laadt niet)? Open de console van je browser (F12) en controleer of er JavaScript-fouten staan.

XDebug

Configureer XDebug voor step-by-step debugging in je IDE.

Wanneer support inschakelen

Neem contact op met support als:

  • Je de oorzaak niet kunt vinden
  • Het een server-level probleem lijkt
  • Je wijzigingen nodig hebt die admin rechten vereisen
  • Het probleem blijft terugkomen