Configuration

VeltoPHP keeps configuration simple and centralized. All of your project's configuration settings are stored in a single .env (environment) file located at the root of your application. This makes it easy to manage and adjust key settings without digging through multiple files.

Below is a breakdown of each section and what it controls.

Basic App Settings

APP_NAME=VeltoPHP
APP_ENV=local
APP_URL=http://localhost
SESSION_LIFETIME=86400
APP_DEBUG=true

APP_NAME: The display name of your application (used in titles, email headers, etc.).

APP_ENV: Environment type (e.g., local, production, or staging).

APP_URL: The base URL of your app — used in redirects and asset generation.

SESSION_LIFETIME: Session expiration time in seconds (e.g., 86400 = 24 hours).

APP_DEBUG: Set to true to show detailed error messages during development.

Authentication Settings

AUTH_LOGIN=true
AUTH_REGISTER=true
EMAIL_VERIFICATION=false

AUTH_LOGIN: Enable or disable the login functionality.

AUTH_REGISTER: Enable or disable the user registration feature.

EMAIL_VERIFICATION: Set to true to require users to verify their email address before logging in.

Database Configuration

VeltoPHP supports both SQLite and MySQL. You can switch by commenting/uncommenting the appropriate section.

SQLite Example (Default)

#SQLite

DB_CONNECTION=sqlite
DB_DATABASE=storage/database/database.sqlite

MySQL Example (Disable by Default)

#MySQL

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=veltophp
DB_USERNAME=root
DB_PASSWORD=

DB_CONNECTION: Type of database (sqlite or mysql).

DB_DATABASE: Path to SQLite file, or name of MySQL database.

DB_HOST, DB_USERNAME, DB_PASSWORD: Used for MySQL connections.

Mail Configuration


MAIL_MAILER=
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME="VeltoPHP"

These values are required to send emails from your application. You can use services like Mailtrap, SendGrid, Gmail SMTP, etc.

MAIL_FROM_ADDRESS is the email shown as sender.

MAIL_FROM_NAME is the name shown in the email header (e.g., VeltoPHP).

Social Authentication (OAuth)

VeltoPHP supports Google, GitHub, Discord, and Facebook login via OAuth 2.0. using SocialAuth support.


#Google

GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI=http://yourdomain.com/auth/google/callback

# Github

GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GITHUB_REDIRECT_URI=http://yourdomain.com/auth/github/callback

# Discord

DISCORD_CLIENT_ID=
DISCORD_CLIENT_SECRET=
DISCORD_REDIRECT_URI=http://yourdomain.com/auth/discord/callback

# Facebook

FACEBOOK_CLIENT_ID=
FACEBOOK_CLIENT_SECRET=
FACEBOOK_REDIRECT_URI=http://yourdomain.com/auth/facebook/callback

Tips for Production

Never commit your .env file to Git. Add it to your .gitignore.

Always change APP_ENV to production and APP_DEBUG to false when deploying live.

Use secure values for mail and OAuth to avoid exposing sensitive credentials.

All .env in VeltoPHP look like this.


APP_NAME=VeltoPHP
APP_ENV=local
APP_URL=http://localhost
SESSION_LIFETIME=86400

APP_DEBUG=true

AUTH_LOGIN=true
AUTH_REGISTER=true

EMAIL_VERIFICATION=false

#SQLITE
DB_CONNECTION=sqlite
DB_DATABASE=storage/database/database.sqlite

#MYSQL
# DB_CONNECTION=mysql
# DB_HOST=127.0.0.1
# DB_DATABASE=veltophp
# DB_USERNAME=root
# DB_PASSWORD=

MAIL_MAILER=
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME="VeltoPHP"


GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI=http://yourdomain.com/auth/google/callback

GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
GITHUB_REDIRECT_URI=http://yourdomain.com/auth/github/callback

DISCORD_CLIENT_ID=
DISCORD_CLIENT_SECRET=
DISCORD_REDIRECT_URI=http://yourdomain.com/auth/discord/callback

FACEBOOK_CLIENT_ID=
FACEBOOK_CLIENT_SECRET=
FACEBOOK_REDIRECT_URI=http://yourdomain.com/auth/facebook/callback

Running on PHP 8.3.20 | VeltoPHP V2.0
Page generated in 53.43 ms

Confirmation

Are you sure?