Laravel for Platform.sh
This template provides a basic Laravel skeleton. It comes pre-configured to use a MariaDB database and Redis for caching and sessions using a Laravel-specific bridge library that runs during Composer autoload. The public files symlink is also replaced with a custom web path definition so it is unnecessary. It is intended for you to use as a starting point and modify for your own needs.
Laravel is an opinionated, integrated rapid-application-development framework for PHP.
Features
- PHP 7.4
- MariaDB 10.4
- Redis 5.0
- Automatic TLS certificates
- Composer-based build
Customizations
The following changes have been made relative to a plain Laravel project. If using this project as a reference for your own existing project, replicate the changes below to your project.
- The
.platform.app.yaml
,.platform/services.yaml
, and.platform/routes.yaml
files have been added. These provide Platform.sh-specific configuration and are present in all projects on Platform.sh. You may customize them as you see fit. - An additional Composer library,
platformsh/laravel-bridge
, has been added. It automatically maps Platform.sh's environment variables to Laravel's environment variables where possible. It leverages theplatformsh/config-reader
library. - The Laravel Bridge library also automatically configures Laravel to use Redis for both caching and session storage. That may be disabled by removing or changing the name of the
rediscache
andredissession
relationships in.platform.app.yaml
. - Laravel normally wants you to create a symlink for the public storage directory, using the
artisan storage:link
command. That is not necessary and will not work on Platform.sh due to the read-only file system. Instead, a dedicated web path mapping is included for the/storage
path that has the same effect.