# Logs and environment variables

> A site's access, error, PHP, Laravel and app logs, and its encrypted .env.

## Logs

The site's **Logs** pane reads logs straight from the server:

| Source | What it shows |
| --- | --- |
| Access | Every request the web server answered |
| Web server errors | nginx/OpenLiteSpeed errors for this site |
| PHP errors | PHP-FPM warnings and fatal errors |
| Laravel | `storage/logs` of a Laravel app |
| App process | Output of a Node.js, Python or container app |

Choose the source, optionally type a **Filter** (only matching lines are returned) and **Load**. Logs stay on your server; the panel fetches the latest lines when you ask. Logs are rotated on the server so they do not fill the disk.

Scheduled commands and daemons keep their output in the system journal: see **Last run and logs** on [Cron](/docs/cron-and-daemons) and **Status and logs** on Daemons.

## The .env file

Apps that read a `.env` file (Laravel, most PHP frameworks, Node.js and Python apps, containers) get it from the site's **Deploy** pane:

1. **Edit .env** opens the editor (it asks for your password first).
2. Change the values; **Add APP_KEY** generates a Laravel application key.
3. **Save and write to the server**.

The `.env` is kept encrypted in the panel and sent sealed to the server, which stores it as `shared/.env` and links it into every release. It is never shown in logs. After a change, **Deploy now** again so cached configuration is rebuilt (for example Laravel's `config:cache`).

Connecting a database writes its `DB_*` settings and `DATABASE_URL` into this file for you — see [Databases](/docs/databases).

---
Source: https://zefily.com/docs/logs-and-env
