Install some files to run Laravel on Vercel.
composer require revolution/laravel-vercel-installer --dev
php artisan vercel:install
composer remove revolution/laravel-vercel-installer --dev
It will probably not work with the new spec that uses functions
and rewrites
in vercel.json.
https://vercel.com/docs/edge-network/regions
[email protected]
is PHP8.3
To use another version, check this repository. https://github.com/vercel-community/php
If there are other files in public, add them to routes.
{
"src": "/images/(.*)",
"dest": "/public/images/$1"
},
Secret env is set in the vercel settings page.
php artisan key:generate --show
command generates a new key without updating the .env file. Set this key on the Settings page APP_KEY
.
You can use Vercel Postgres or AWS RDS.
https://vercel.com/docs/storage/vercel-postgres
You can't use the file
driver.
If you're using a database, you can use the database
driver.
If you have any problems with TrustProxies, change /app/Http/Middleware/TrustProxies.php
.
class TrustProxies extends Middleware
{
/**
* The trusted proxies for this application.
*
* @var array<int, string>|string|null
*/
protected $proxies = '*';
Change /bootstrap/app.php
->withMiddleware(function (Middleware $middleware) {
$middleware->trustProxies(at: '*');
})
If you use Laravel's API routes, you will need to change the /api/
route as it conflicts with Vercel.
/bootstrap/app.php
use Illuminate\Foundation\Application;
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
commands: __DIR__.'/../routes/console.php',
api: __DIR__.'/../routes/api.php',
apiPrefix: 'prefix/api',
health: '/up',
)
MIT