Troubleshooting Guide
Solutions to common problems and issues when running LaraDashboard, including installation errors, performance issues, and configuration problems.
Troubleshooting Guide
This guide provides solutions to common issues you may encounter when running LaraDashboard.
Installation Issues
Composer Install Fails
Symptom: Memory error during composer install
Solution:
# Increase memory limit
COMPOSER_MEMORY_LIMIT=-1 composer install
# Or use swap on low-memory servers
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
Key Generation Error
Symptom: "No application encryption key has been specified"
Solution:
php artisan key:generate
php artisan config:clear
Database Connection Error
Symptom: "SQLSTATE[HY000] [2002] Connection refused"
Solutions:
- Check MySQL is running:
systemctl status mysql - Verify database credentials in
.env - Check socket path:
DB_SOCKET=/var/run/mysqld/mysqld.sock - For remote DB, ensure firewall allows connection
Migration Fails
Symptom: Migration error or timeout
Solutions:
# Clear failed migrations
php artisan migrate:reset
# Run with verbose output
php artisan migrate -v
# Check for syntax errors
php artisan migrate:status
Application Errors
500 Internal Server Error
Possible Causes & Solutions:
-
Permissions Issue
sudo chown -R www-data:www-data storage bootstrap/cache sudo chmod -R 775 storage bootstrap/cache -
Missing .env
cp .env.example .env php artisan key:generate -
Cache Issue
php artisan cache:clear php artisan config:clear php artisan view:clear -
Check Logs
tail -f storage/logs/laravel.log
404 Not Found
Possible Causes:
-
Routing Issue
php artisan route:clear php artisan route:list -
Web Server Config
- Ensure mod_rewrite enabled (Apache)
- Check try_files directive (Nginx)
-
Missing .htaccess
- Verify
.htaccessexists inpublic/
- Verify
419 Page Expired
Symptom: CSRF token mismatch
Solutions:
- Check
SESSION_DRIVERconfiguration - Clear browser cookies
- Verify session directory is writable
- Check
APP_URLmatches actual domain
502 Bad Gateway
Solutions:
-
Check PHP-FPM is running
systemctl status php8.3-fpm systemctl restart php8.3-fpm -
Verify socket path in Nginx config matches PHP-FPM
-
Increase PHP-FPM timeout
fastcgi_read_timeout 300;
Performance Issues
Slow Page Load
Diagnostic Steps:
-
Enable Debug Bar (development only)
composer require barryvdh/laravel-debugbar --dev -
Check Query Count
- Look for N+1 queries
- Add eager loading
-
Enable Caching
php artisan config:cache php artisan route:cache php artisan view:cache -
Use Redis
CACHE_DRIVER=redis SESSION_DRIVER=redis
High Memory Usage
Solutions:
-
Optimize PHP-FPM
pm = dynamic pm.max_children = 20 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 10 -
Limit Eloquent Memory
// Use chunking for large datasets Post::chunk(1000, function ($posts) { // Process }); -
Clear Old Data
- Prune telescope entries
- Clean old logs
- Remove unused sessions
Database Slow
Solutions:
-
Add Indexes
SHOW INDEX FROM posts; ALTER TABLE posts ADD INDEX idx_status_published (status, published_at); -
Optimize Tables
OPTIMIZE TABLE posts; -
Increase MySQL Memory
innodb_buffer_pool_size = 1G
Authentication Issues
Cannot Login
Solutions:
-
Reset Password via Tinker
php artisan tinker >>> $user = User::where('email', 'admin@example.com')->first(); >>> $user->password = bcrypt('newpassword'); >>> $user->save(); -
Check Session Driver
SESSION_DRIVER=file -
Clear Session Data
php artisan session:clear
Session Expires Quickly
Solutions:
-
Increase Lifetime
SESSION_LIFETIME=120 -
Check Cookie Domain
SESSION_DOMAIN=yourdomain.com
Email Verification Not Working
Solutions:
-
Check Mail Config
php artisan tinker >>> Mail::raw('Test', fn($m) => $m->to('test@test.com')); -
Verify Routes
php artisan route:list | grep verif
File Upload Issues
Upload Fails
Solutions:
-
Increase PHP Limits
; php.ini upload_max_filesize = 100M post_max_size = 100M max_execution_time = 300 -
Nginx Config
client_max_body_size 100M; -
Check Permissions
chmod -R 775 storage/app/public
Images Not Displaying
Solutions:
-
Create Storage Link
php artisan storage:link -
Check URL Configuration
APP_URL=https://yourdomain.com -
Verify File Exists
ls -la storage/app/public/
Email Issues
Emails Not Sending
Diagnostic Steps:
-
Test Configuration
php artisan tinker >>> Mail::raw('Test email', fn($m) => $m->to('test@email.com')->subject('Test')); -
Check Logs
tail -f storage/logs/laravel.log | grep -i mail -
Use Simpler Driver First
MAIL_MAILER=smtp MAIL_HOST=smtp.gmail.com MAIL_PORT=587 MAIL_USERNAME=your@gmail.com MAIL_PASSWORD=app-password MAIL_ENCRYPTION=tls
Emails Going to Spam
Solutions:
- Configure SPF record
- Set up DKIM signing
- Configure DMARC
- Use reputable email service
Queue Issues
Jobs Not Processing
Solutions:
-
Check Worker is Running
php artisan queue:work --verbose -
Restart Workers
php artisan queue:restart supervisorctl restart all -
Check Failed Jobs
php artisan queue:failed php artisan queue:retry all
Jobs Failing
Solutions:
-
Check Job Logs
php artisan queue:failed -
Increase Timeout
php artisan queue:work --timeout=600 -
Debug Job
// In job class public function failed(\Throwable $exception) { Log::error('Job failed: ' . $exception->getMessage()); }
Module Issues
Module Not Loading
Solutions:
-
Clear Cache
php artisan module:clear-compiled php artisan cache:clear -
Check module.json Syntax
cat modules/YourModule/module.json | jq . -
Verify Namespace
composer dump-autoload
Module Migration Error
Solutions:
# Check status
php artisan module:migrate-status ModuleName
# Reset and retry
php artisan module:migrate-rollback ModuleName
php artisan module:migrate ModuleName
Asset Issues
CSS/JS Not Loading
Solutions:
-
Build Assets
npm run build -
Check Vite Manifest
cat public/build/manifest.json -
Clear Browser Cache
- Hard refresh: Ctrl+Shift+R
-
Check APP_URL
APP_URL=https://yourdomain.com
Vite Dev Server Issues
Solutions:
# Kill existing processes
killall node
# Clear npm cache
npm cache clean --force
# Reinstall
rm -rf node_modules package-lock.json
npm install
npm run dev
Debug Mode
Enable Debugging (Development Only)
APP_DEBUG=true
APP_ENV=local
Laravel Telescope
# Install (dev only)
composer require laravel/telescope --dev
php artisan telescope:install
php artisan migrate
Access at: /telescope
Log Channels
LOG_CHANNEL=stack
LOG_LEVEL=debug
View logs:
tail -f storage/logs/laravel.log
Getting Help
Collect Debug Information
Before seeking help, gather:
-
Laravel Version
php artisan --version -
PHP Version
php -v -
Error Logs
tail -100 storage/logs/laravel.log -
Environment Info
php artisan about
Support Channels
- Documentation - Check relevant docs first
- GitHub Issues - Report bugs with reproduction steps
- Stack Overflow - Tag with
laradashboardandlaravel
Next Steps
- Deployment Guide - Server setup
- Backup & Restore - Data protection
- Settings - Configuration options