Skip to content

Instantly share code, notes, and snippets.

@marekjelen
Created December 11, 2012 08:11
Show Gist options
  • Save marekjelen/4256761 to your computer and use it in GitHub Desktop.
Save marekjelen/4256761 to your computer and use it in GitHub Desktop.
PHP README from OpenShift
Feel free to change or remove this file, it is informational only.
Repo layout
===========
php/ - Externally exposed php code goes here
libs/ - Additional libraries
misc/ - For not-externally exposed php code
deplist.txt - list of pears to install
.openshift/action_hooks/pre_build - Script that gets run every git push before the build
.openshift/action_hooks/build - Script that gets run every git push as part of the build process (on the CI system if available)
.openshift/action_hooks/deploy - Script that gets run every git push after build but before the app is restarted
.openshift/action_hooks/post_deploy - Script that gets run every git push after the app is restarted
Notes about layout
==================
Please leave php, libs and data directories but feel free to create additional
directories if needed.
Note: Every time you push, everything in your remote repo dir gets recreated
please store long term items (like an sqlite database) in the OpenShift
data directory, which will persist between pushes of your repo.
The OpenShift data directory is accessible relative to the remote repo
directory (../data) or via an environment variable OPENSHIFT_DATA_DIR.
Environment Variables
=====================
OpenShift provides several environment variables to reference for ease
of use. The following list are some common variables but far from exhaustive:
$_ENV['OPENSHIFT_DATA_DIR'] - For persistent storage (between pushes)
$_ENV['OPENSHIFT_TMP_DIR'] - Temp storage (unmodified files deleted after 10 days)
When embedding a database using 'rhc app cartridge add', you can reference
environment variables for username, host and password. Example for mysql:
$_ENV['OPENSHIFT_MYSQL_DB_HOST'] - DB host
$_ENV['OPENSHIFT_MYSQL_DB_PORT'] - DB Port
$_ENV['OPENSHIFT_MYSQL_DB_USERNAME'] - DB Username
$_ENV['OPENSHIFT_MYSQL_DB_PASSWORD'] - DB Password
When embedding a NoSQL database using 'rhc app cartridge add', you can
reference environment variables for username, host and password.
Example for MongoDB:
$_ENV['OPENSHIFT_MONGODB_DB_HOST'] - NoSQL DB Host
$_ENV['OPENSHIFT_MONGODB_DB_PORT'] - NoSQL DB Port
$_ENV['OPENSHIFT_MONGODB_DB_USERNAME'] - NoSQL DB Username
$_ENV['OPENSHIFT_MONGODB_DB_PASSWORD'] - NoSQL DB Password
To get a full list of environment variables, simply add a line in your
.openshift/action_hooks/build script that says "export" and push.
deplist.txt
===========
A list of pears to install, line by line on the server. This will happen when
the user git pushes.
Additional information
======================
Link to additional information will be here, when we have it :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment