aron0524 / openshift-quickstart-laravel5.2

Openshift quickstart for laravel 5.2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Laravel 5.2 on OpenShift

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

This QuickStart was created to make it easy to get started with Laravel 5.2 on OpenShift. It is based on https://github.com/luciddreamz/laravel

At this point it works in conjunction with the following cartridges:

https://github.com/boekkooi/openshift-cartridge-php (with php version 5.6.16) https://github.com/boekkooi/openshift-cartridge-nginx

And optionally with

https://github.com/icflorescu/openshift-cartridge-mongodb

OpenShift Considerations

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

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 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 -a <app-name>

Then, restart your application:

$ rhc app restart -a <app-name>

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

Set the variable to 'production' and restart your app to deactivate error reporting and resume production PHP settings.

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 -a <APP_NAME>

To stop tailing the logs, press Ctrl + c.

Manual Installation

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

  2. Create a Laravel application:

    rhc app create laravelapp php-5.4 mysql-5.5 --from-code=https://github.com/lucho2d7/openshift-quickstart-laravel5.2
    

    or

    rhc app create laravelapp php-5.4 postgresql-9.2 --from-code=https://github.com/lucho2d7/openshift-quickstart-laravel5.2
    

    or

    rhc app-create <_app_name_> --env OPENSHIFT_PHP_VERSION=5.6.16 http://cartreflect-claytondev.rhcloud.com/github/boekkooi/openshift-cartridge-nginx http://cartreflect-claytondev.rhcloud.com/github/boekkooi/openshift-cartridge-php mysql-5.5 --from-code=https://github.com/lucho2d7/openshift-quickstart-laravel5.2
    

Additional Resources

Documentation for the Laravel framework can be found on the Laravel website. Check out OpenShift's Developer Portal for help running PHP on OpenShift.

About

Openshift quickstart for laravel 5.2


Languages

Language:HTML 67.8%Language:PHP 28.8%Language:Shell 3.2%Language:JavaScript 0.2%Language:CSS 0.0%