Laravel dominates custom web development in Nepal — booking systems, portals, SaaS products and school management systems are built on it every day in Kathmandu agencies. Hosting Laravel is different from hosting WordPress, and choosing the wrong environment causes most deployment pain.

What Laravel Requires in 2026

  • PHP 8.2 or newer with extensions: OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype, JSON, BCMath
  • Composer available via SSH, or the ability to upload a pre-built vendor folder
  • A MySQL or MariaDB database and comfortable disk headroom for logs and caches
  • Cron access for the Laravel scheduler
  • SSH access — technically optional, practically essential

Deploying Laravel on cPanel Shared Hosting

  1. Upload your project outside public_html, or point the domain document root at the public folder.
  2. Run composer install via SSH, or upload vendor built locally with the same PHP version.
  3. Copy .env, set the app key, database credentials and APP_ENV=production.
  4. Run php artisan migrate, then cache config and routes for speed.
  5. Add one cron entry running php artisan schedule:run every minute.

Never leave the .env file or the full project inside a public web root — exposed environment files are a leading cause of hacked Laravel apps.

Queues on Shared Hosting

Long-running queue workers are usually not allowed on shared plans. The practical workaround is the database queue driver with a scheduled queue:work command using a time limit, triggered by cron. For real-time or heavy queue loads, that is your signal to move to a VPS where Supervisor can keep workers alive.

Shared Hosting or VPS for Laravel?

Shared cPanel hosting at NPR 1,000–3,500 per month happily runs small and medium Laravel apps. Choose a VPS from roughly NPR 4,000 per month when you need Supervisor-managed workers, Redis, custom PHP settings, WebSockets or root access. Managed VPS options let your agency keep building while the host handles the server.

A Real Deployment Failure and Its Fix

A common first-deployment mistake: a Laravel app works perfectly locally, then shows a blank white screen or a generic 500 error on shared hosting with no visible cause. The fix nearly always starts in the same two places — check storage/logs/laravel.log for the actual error (usually a missing .env value or a storage folder without write permission), and confirm storage and bootstrap/cache are writable by the web server user, since a fresh upload frequently arrives with permissions that block Laravel from writing its own cache and log files. Running php artisan config:clear after any .env change is the other most common missing step, since a stale cached config silently ignores new environment values.

Performance Tips That Cost Nothing

  • Run config:cache, route:cache and view:cache on every deploy
  • Enable OPcache — most Nepali cPanel hosts have it on by default
  • Use eager loading to kill N+1 queries before buying bigger hosting
  • Store sessions and cache in Redis when available

Frequently Asked Questions

Can I run Laravel without SSH access?

Yes, by building locally and uploading everything including vendor, but deployments become slow and error-prone. Pick a host that includes SSH.

Which Laravel versions work on Nepali shared hosting?

Any current Laravel version runs fine as long as the PHP version matches — check the framework requirements against the PHP selector in cPanel.

Should config:cache run in a local development environment too?

No — caching config in development hides the effect of .env changes, since the cached values take priority. Reserve config:cache for production deploys only.

Deploying a Laravel project? Start on SSD shared hosting or go straight to a Laravel-ready VPSour team can advise.