Please note that these documents apply to OpenShift Online v2 only (accounts created before August 1st, 2016).
If you are using one of the OpenShift 3 products, please refer to documents available at docs.openshift.com.

Deploying Laravel 5.0 on OpenShift

Laravel is a free, open source PHP web application framework, designed for the development of model-view-controller (MVC) web applications.

The simplest way to install this application is to use the Laravel 5.0 OpenShift QuickStart. If you’d like to install it manually, follow these directions.

OpenShift Considerations

These are some special considerations you may need to keep in mind when running your application on OpenShift with the Laravel QuickStart.

Local vs. Remote Development

This Laravel QuickStart provides separate .env configuration files for both local and remote development, found at .env and .openshift/.env respectively. When the local repo is pushed to OpenShift .env is overwritten with the .openshift/.env file.

Remote Development

Your application is configured to automatically use your OpenShift MySQL or PostgreSQL database in when deployed on OpenShift using OpenShift Environment Variables.

Additionally, your APP_ENV, APP_URL, and APP_KEY will be set automatically in production on OpenShift.

The Laravel CACHE_DRIVER is set to use APC opcode caching and the SESSION_DRIVER is set to use the local file system for storage. Feel free to update these settings in .openshift/.env.

Laravel Migrations

When the application is pushed to OpenShift, php artisan migrate --force is automatically executed.

Composer

When the application is pushed, composer install is automatically executed over the root directory. See [PHP Markers](/languages/php/markers.html) for more details on the 'use_composer' marker.

'Development' Mode

When you develop your Laravel application in OpenShift, you can also enable the 'development' environment by setting the APPLICATION_ENV environment variable, using the rhc client, like:

$ rhc env set APPLICATION_ENV=development

Then, restart your application:

$ rhc app restart

If you do so, OpenShift will run your application under 'development' mode. In development mode, your application will:

  • Set Laravel’s APP_ENV to development and APP_DEBUG to true

  • Ignore your composer.lock file

  • Show more detailed errors in browser

  • Display startup errors

  • Enable the Xdebug PECL extension

  • Enable APC stat check

Using the development environment can help you debug problems in your application in the same way as you do when developing on your local machine. However, we strongly advise you not to run your application in this mode in production.

Log Files

Your application is configured to use the OpenShift log directory. You can use the rhc tail command to stream the latest log file entries:

rhc tail

To stop tailing the logs, press Ctrl + c.

Manual Installation

  1. Create an account at https://www.openshift.com/

  2. Create a Laravel application with mysql-5.5 or postgresql-9.2:

    $ rhc app create laravelapp php-5.4 mysql-5.5 --from-code=https://github.com/luciddreamz/laravel

Additional Resources

Documentation for the Laravel framework can be found on the Laravel website.