🔧 Troubleshooting Guide

Common Issues and Solutions

Ashie Resume | JobPortal

🔧 Installation Issues

Common problems encountered during or after installation.

Blank White Page After Installation

Possible Causes:

  • PHP errors are being suppressed
  • Missing PHP extensions
  • File permissions issues
Solution
  1. Enable error display in .env file:
    APP_DEBUG=true
  2. Check PHP error logs (usually in /var/log/php/ or hosting panel)
  3. Verify required PHP extensions are installed:
    php -m | grep -E "pdo|mbstring|openssl|tokenizer|xml|curl|json"
  4. Fix file permissions:
    chmod -R 755 /path/to/backend
    chmod -R 775 /path/to/backend/storage
    chmod -R 775 /path/to/backend/bootstrap/cache

500 Internal Server Error

Possible Causes:

  • .htaccess conflicts
  • Missing APP_KEY
  • Database connection failure
Solution
  1. Check if APP_KEY is set in .env. If not, generate one:
    php artisan key:generate
  2. Verify database credentials in .env:
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=your_database_name
    DB_USERNAME=your_username
    DB_PASSWORD=your_password
  3. Clear configuration cache:
    php artisan config:clear
    php artisan cache:clear

CSS/JS Files Not Loading (404 Errors)

Possible Causes:

  • Document root not pointing to public folder
  • Missing symlink for storage
Solution
  1. Ensure your domain's document root is set to /public folder
  2. Create storage symlink:
    php artisan storage:link
  3. Verify APP_URL in .env matches your actual domain:
    APP_URL=https://yourdomain.com

🔐 Login Problems

Issues with authentication and user access.

Can't Login - "Invalid Credentials"

Possible Causes:

  • Wrong email or password
  • Account doesn't exist in database
  • Session/cache issues
Solution
  1. Use the demo credentials if testing:
    Email: superadmin@test.com
    Password: password123
  2. Check if user exists in database
  3. Clear application cache:
    php artisan cache:clear
    php artisan config:clear
  4. If needed, reset password via database:
    php artisan tinker
    >>> User::where('email', 'superadmin@test.com')->update(['password' => bcrypt('newpassword')]);

Session Expires Too Quickly

Possible Causes:

  • Session configuration issues
  • Different domains for API and frontend
Solution
  1. Check session settings in .env:
    SESSION_LIFETIME=120
    SESSION_DRIVER=file
  2. Ensure cookies domain is set correctly:
    SESSION_DOMAIN=.yourdomain.com

Admin Panel Access Denied

Possible Causes:

  • User doesn't have admin role
  • Role permissions not seeded
Solution
  1. Check user's role in database (roles and model_has_roles tables)
  2. Re-run seeders if needed:
    php artisan db:seed --class=RoleSeeder
  3. Assign admin role manually:
    php artisan tinker
    >>> $user = User::where('email', 'your@email.com')->first();
    >>> $user->assignRole('super_admin');

📧 Email Issues

Problems with sending emails and notifications.

Emails Not Being Sent

Possible Causes:

  • SMTP credentials incorrect
  • Server blocking outbound SMTP
  • Queue worker not running
Solution
  1. Verify SMTP settings in .env:
    MAIL_MAILER=smtp
    MAIL_HOST=smtp.gmail.com
    MAIL_PORT=587
    MAIL_USERNAME=your-email@gmail.com
    MAIL_PASSWORD=your-app-password
    MAIL_ENCRYPTION=tls
    MAIL_FROM_ADDRESS=noreply@yourdomain.com
    MAIL_FROM_NAME="${APP_NAME}"
  2. For Gmail, use an App Password, not your regular password
  3. Test email configuration:
    php artisan tinker
    >>> Mail::raw('Test email', function($msg) { $msg->to('your@email.com')->subject('Test'); });
  4. If using queue, ensure worker is running:
    php artisan queue:work

Emails Going to Spam

Possible Causes:

  • Missing SPF/DKIM/DMARC records
  • Sending from different domain than configured
  • New domain with no reputation
Solution
  1. Set up proper DNS records for your email domain (SPF, DKIM, DMARC)
  2. Use a reputable email service like Mailgun, SendGrid, or Amazon SES
  3. Ensure MAIL_FROM_ADDRESS matches your authenticated domain
  4. Start with low sending volume to build reputation

💳 Payment Problems

Issues with payment processing and subscriptions.

Payments Not Processing

Possible Causes:

  • Payment gateway not enabled
  • Using sandbox credentials in live mode (or vice versa)
  • API keys incorrect
Solution
  1. Go to Admin Panel → Settings → Payment Gateway
  2. Verify the gateway is enabled (toggle is green)
  3. Ensure you're using the correct credentials for your mode:
    • Sandbox Mode: Use test/sandbox API keys
    • Live Mode: Use production API keys
  4. Test with gateway's test card numbers first

Webhook Not Receiving Events

Possible Causes:

  • Webhook URL not configured in payment gateway dashboard
  • Webhook secret incorrect
  • SSL certificate issues
Solution
  1. Set up webhook URL in your payment gateway dashboard:
    Stripe: https://yourdomain.com/api/v1/webhooks/stripe
    PayPal: https://yourdomain.com/api/v1/webhooks/paypal
    Flutterwave: https://yourdomain.com/api/v1/webhooks/flutterwave
  2. Copy the webhook secret from gateway dashboard and add to admin settings
  3. Ensure your site has a valid SSL certificate
  4. Check webhook logs in the payment gateway dashboard

Subscription Not Activated After Payment

Possible Causes:

  • Webhook failed to process
  • Queue worker not running
  • Database error
Solution
  1. Check if webhook was received (look in failed_jobs table)
  2. Ensure queue worker is running:
    php artisan queue:work
  3. Manually activate subscription via Admin Panel → Subscriptions
  4. Check Laravel logs for errors:
    tail -f storage/logs/laravel.log

Performance Issues

Slow loading times and optimization tips.

Website Loading Slowly

Possible Causes:

  • Configuration not cached
  • Database queries not optimized
  • No CDN configured
Solution
  1. Enable production optimizations:
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
    php artisan optimize
  2. Enable OPcache in PHP configuration
  3. Set up Redis for caching (if available):
    CACHE_DRIVER=redis
    SESSION_DRIVER=redis
    QUEUE_CONNECTION=redis
  4. Consider using a CDN (Cloudflare, CloudFront, etc.)

High Server Memory Usage

Possible Causes:

  • Queue workers consuming memory
  • Too many background processes
Solution
  1. Restart queue workers periodically:
    php artisan queue:restart
  2. Use Supervisor to manage queue workers with memory limits
  3. Consider upgrading server resources if consistently high

🚫 Common Error Messages

Understanding and resolving specific error messages.

"CSRF Token Mismatch"

Solution
  1. Clear browser cookies and cache
  2. Ensure your domain/subdomain settings are consistent
  3. Check SESSION_DOMAIN in .env
  4. Clear application cache:
    php artisan cache:clear

"The page has expired due to inactivity"

Solution
  1. Increase session lifetime in .env:
    SESSION_LIFETIME=120
  2. Clear browser cache and try again
  3. Ensure session folder is writable:
    chmod 775 storage/framework/sessions

"Failed to open stream: Permission denied"

Solution
  1. Fix storage permissions:
    chmod -R 775 storage
    chmod -R 775 bootstrap/cache
    chown -R www-data:www-data storage bootstrap/cache
  2. Clear all caches:
    php artisan cache:clear
    php artisan config:clear
    php artisan view:clear

"Class not found" Errors

Solution
  1. Regenerate autoload files:
    composer dump-autoload
  2. Clear all caches:
    php artisan clear-compiled
    php artisan optimize:clear

🆘 Getting Help

When you can't solve an issue on your own.

Before Contacting Support

Please gather the following information:

  1. Detailed description of the problem
  2. Steps to reproduce the issue
  3. Error messages (screenshot or copy text)
  4. Your PHP version (php -v)
  5. Contents of .env (with sensitive data removed)
  6. Recent entries from storage/logs/laravel.log

Contact Support

📧 Email: support@dafriappsdev.com

🌐 Support Portal: dafriappsdev.com/user-panel

⚠️ Important: Never share your API keys, passwords, or other sensitive credentials in support tickets or public forums. Mask them before sharing any configuration files.

🔧 Troubleshooting Guide Complete!

Still have questions? Browse our comprehensive FAQ with 125 answers to common questions.

Browse 125 FAQs →