Connect from Laravel to Neon
Set up a Neon project in seconds and connect from a Laravel application
Laravel is a web application framework with expressive, elegant syntax. Connecting to Neon from Laravel is the same as connecting to a standalone Postgres installation from Laravel. Only the connection details differ.
To connect to Neon from Laravel:
Create a Neon project
If you do not have one already, create a Neon project. Save your connection details including your password. They are required when defining connection settings.
- Navigate to the Projects page in the Neon Console.
- Click New Project.
- Specify your project settings and click Create Project.
Configure the connection
Open the .env
file in your Laravel app, and replace all the database credentials.
DB_CONNECTION=pgsql
DB_HOST=[neon_hostname]
DB_PORT=5432
DB_DATABASE=[dbname]
DB_USERNAME=[user]
DB_PASSWORD=[password]
You can find your database connection details by clicking the Connect button on your Project Dashboard. For more information, see Connect from any application.
Connection issues
With older Postgres clients/drivers, including older PDO_PGSQL drivers, you may receive the following error when attempting to connect to Neon:
ERROR: The endpoint ID is not specified. Either upgrade the Postgres client library (libpq) for SNI support or pass the endpoint ID (the first part of the domain name) as a parameter: '&options=endpoint%3D'. See [https://neon.tech/sni](https://neon.tech/sni) for more information.
If you run into this error, please see the following documentation for an explanation of the issue and workarounds: The endpoint ID is not specified.
-
If using a connection string to connect to your database, try Workaround A. Pass the endpoint ID as an option. For example:
postgresql://[user]:[password]@[neon_hostname]/[dbname]?options=endpoint%3D[endpoint-id]
Replace
[endpoint_id]
with your compute's endpoint ID, which you can find in your Neon connection string. It looks similar to this:ep-cool-darkness-123456
. -
If using database connection parameters, as shown above, try Workaround D. Specify the endpoint ID in the password field. For example:
DB_PASSWORD=endpoint=<endpoint_id>$<password>
Schema migration with Laravel
For schema migration with Laravel, see our guide:
Need help?
Join our Discord Server to ask questions or see what others are doing with Neon. Users on paid plans can open a support ticket from the console. For more details, see Getting Support.