├── usr ├── compile │ ├── versions │ ├── .gitignore │ ├── md5sum │ ├── README.md │ ├── common │ ├── libs │ └── php ├── php-5.5.22.tar.gz.md5 ├── php-5.5.36.tar.gz.md5 ├── php-5.6.16.tar.gz.md5 ├── php-5.6.22.tar.gz.md5 ├── php-7.0.7.tar.gz.md5 ├── php-5.5.22.tar.gz ├── php-5.5.36.tar.gz ├── php-5.6.16.tar.gz ├── php-5.6.22.tar.gz └── php-7.0.7.tar.gz ├── .gitignore ├── env ├── PHPRC.erb ├── PHP_INI_SCAN_DIR.erb ├── COMPOSER_HOME.erb ├── OPENSHIFT_PHP_LIBS_DIR.erb ├── OPENSHIFT_PHP_LD_LIBRARY_PATH_ELEMENT.erb └── OPENSHIFT_PHP_SOCKET.erb ├── .gitattributes ├── metadata ├── managed_files.yml └── manifest.yml ├── LICENSE ├── bin ├── install ├── setup ├── install_pecl └── control ├── lib ├── control_util.sh ├── util.sh └── setup_util.sh ├── README.md └── conf ├── php-fpm.conf.erb ├── php.ini.erb └── php-fpm.ini.erb /usr/compile/versions: -------------------------------------------------------------------------------- 1 | 7.0.7 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | usr/shared/ 2 | usr/php-*/ 3 | -------------------------------------------------------------------------------- /usr/compile/.gitignore: -------------------------------------------------------------------------------- 1 | tmp/ 2 | catridge/ 3 | -------------------------------------------------------------------------------- /env/PHPRC.erb: -------------------------------------------------------------------------------- 1 | <%= ENV['OPENSHIFT_PHP_DIR'] %>/conf/php.ini 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | usr/*.tar.gz filter=lfs diff=lfs merge=lfs -text 2 | -------------------------------------------------------------------------------- /env/PHP_INI_SCAN_DIR.erb: -------------------------------------------------------------------------------- 1 | <%= ENV['OPENSHIFT_PHP_DIR'] %>/conf/ext/ 2 | -------------------------------------------------------------------------------- /env/COMPOSER_HOME.erb: -------------------------------------------------------------------------------- 1 | <%= ENV['OPENSHIFT_PHP_DIR'] %>/composer/.composer/ 2 | -------------------------------------------------------------------------------- /env/OPENSHIFT_PHP_LIBS_DIR.erb: -------------------------------------------------------------------------------- 1 | <%= ENV['OPENSHIFT_PHP_DIR'] %>/usr/shared/libs 2 | -------------------------------------------------------------------------------- /usr/php-5.5.22.tar.gz.md5: -------------------------------------------------------------------------------- 1 | 8e5babcdc588324ded6e9dd2521fc492 php-5.5.22.tar.gz 2 | -------------------------------------------------------------------------------- /usr/php-5.5.36.tar.gz.md5: -------------------------------------------------------------------------------- 1 | 77c08f607ba1b7fd48369de4cfcb4b9b php-5.5.36.tar.gz 2 | -------------------------------------------------------------------------------- /usr/php-5.6.16.tar.gz.md5: -------------------------------------------------------------------------------- 1 | c41dc23027dde69d0b38e502de44e2e9 php-5.6.16.tar.gz 2 | -------------------------------------------------------------------------------- /usr/php-5.6.22.tar.gz.md5: -------------------------------------------------------------------------------- 1 | 95116fb58d0d5b3a8b6e0d9f9f1aa58a php-5.6.22.tar.gz 2 | -------------------------------------------------------------------------------- /usr/php-7.0.7.tar.gz.md5: -------------------------------------------------------------------------------- 1 | 975c60bd84143761c57082737dc59056 php-7.0.7.tar.gz 2 | -------------------------------------------------------------------------------- /metadata/managed_files.yml: -------------------------------------------------------------------------------- 1 | locked_files: 2 | - bin/ 3 | - bin/* 4 | - env/ 5 | - env/* 6 | -------------------------------------------------------------------------------- /env/OPENSHIFT_PHP_LD_LIBRARY_PATH_ELEMENT.erb: -------------------------------------------------------------------------------- 1 | <%= ENV['OPENSHIFT_PHP_DIR'] %>/usr/shared/libs/lib 2 | -------------------------------------------------------------------------------- /env/OPENSHIFT_PHP_SOCKET.erb: -------------------------------------------------------------------------------- 1 | <%= ENV['OPENSHIFT_PHP_DIR'] %>/socket/php-<%= ENV['OPENSHIFT_GEAR_UUID'] %>.socket 2 | -------------------------------------------------------------------------------- /usr/php-5.5.22.tar.gz: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a28708a7f8ccc74a8d3184d00854aa5cf3f3205ba0d9d08f718882724cf4bce0 3 | size 55158288 4 | -------------------------------------------------------------------------------- /usr/php-5.5.36.tar.gz: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:05664c9829c5f7204fc0ad6d40acecb7fe7dca8e36a4fe961c05abac00f03179 3 | size 57140925 4 | -------------------------------------------------------------------------------- /usr/php-5.6.16.tar.gz: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:13cae33d896ddc302c384a746ab6e7605a7ca0bb97e0634d006d4abb99f02d33 3 | size 56801857 4 | -------------------------------------------------------------------------------- /usr/php-5.6.22.tar.gz: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:abf861dd54cc330209274f81d72e22f6c1cb7dff8da7054c856872f52a86a411 3 | size 57532865 4 | -------------------------------------------------------------------------------- /usr/php-7.0.7.tar.gz: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2f4234a8e9ca36bc87f69f96a84c5a1c6ce590c2bf308e671e895944941534e9 3 | size 72159751 4 | -------------------------------------------------------------------------------- /usr/compile/md5sum: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | CURRENT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) 4 | 5 | pushd "${CURRENT_DIR}/../" 6 | FILES="php-*.tar.gz" 7 | for file in ${FILES}; do 8 | if [ -f ${file} ]; then 9 | md5sum "${file}" > "${file}.md5" 10 | fi 11 | done 12 | popd 13 | -------------------------------------------------------------------------------- /metadata/manifest.yml: -------------------------------------------------------------------------------- 1 | Name: php 2 | Cartridge-Short-Name: PHP 3 | Display-Name: Php 4 | License: MIT 5 | Version: "7.0.7" 6 | Versions: [ "5.5.22", "5.5.36", "5.6.16", "5.6.22", "7.0.7" ] 7 | Website: https://github.com/boekkooi/openshift-cartridge-php 8 | Cartridge-Version: 0.0.2 9 | Cartridge-Vendor: boekkooi 10 | Categories: 11 | - embedded 12 | - plugin 13 | Provides: 14 | - php-7.0 15 | - php-5.6 16 | - php-5.5 17 | - php-fpm 18 | - php 19 | Scaling: 20 | Min: 1 21 | Max: -1 22 | Group-Overrides: 23 | - components: 24 | - php-5.6 25 | - web_framework 26 | -------------------------------------------------------------------------------- /usr/compile/README.md: -------------------------------------------------------------------------------- 1 | # Compiling 2 | 3 | Create a [nginx](https://github.com/boekkooi/openshift-cartridge-nginx) based app and clone the repo. 4 | Create a folder `php` in the git repo. 5 | Now copy the folder `usr/compile` and `lib/` into this folder and commit and push. 6 | 7 | Ssh into you application and run the following commands: 8 | ```BASH 9 | cd ${OPENSHIFT_REPO_DIR}/php/usr/compile 10 | ./libs 11 | ./php 12 | ``` 13 | 14 | Now the builds will be packaged and ready for download in your folder. 15 | 16 | TODO : 17 | - research replacing paths in include/php/main/build-defs.h 18 | - research replacing paths in *.pc, *.la and *.inc files 19 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Warnar Boekkooi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /bin/install: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | source ${OPENSHIFT_CARTRIDGE_SDK_BASH} 5 | 6 | case "$1" in 7 | -v|--version) 8 | version="$2" 9 | esac 10 | 11 | # Resolve version 12 | PHP_VERSION=5.6.16 13 | if [ ! -z "${OPENSHIFT_PHP_VERSION}" ] && [ -d "${OPENSHIFT_PHP_DIR}/usr/php-${OPENSHIFT_PHP_VERSION}/" ]; then 14 | PHP_VERSION="${OPENSHIFT_PHP_VERSION}" 15 | elif [ -d "${OPENSHIFT_PHP_DIR}/usr/php-${version}/" ]; then 16 | PHP_VERSION="${version}" 17 | fi 18 | PHP_VERSION_DIR=${OPENSHIFT_PHP_DIR}/usr/php-${PHP_VERSION} 19 | 20 | # Install/Update composer 21 | COMPOSER_PATH=${OPENSHIFT_PHP_DIR}/composer/bin/composer 22 | if [ -f "${COMPOSER_PATH}" ]; then 23 | ${COMPOSER_PATH} self-update 24 | else 25 | pushd `dirname ${COMPOSER_PATH}` 26 | php -r "readfile('https://getcomposer.org/installer');" | php 27 | mv composer.phar "${COMPOSER_PATH}" 28 | popd 29 | fi 30 | 31 | # Install pecl on update 32 | ${OPENSHIFT_PHP_DIR}/bin/control build 33 | 34 | # Result for the client 35 | if [ "${OPENSHIFT_GEAR_DNS}" == "${OPENSHIFT_APP_DNS}" ]; then 36 | client_result "" 37 | client_result "PHP enviroment successfully installed." 38 | client_result "" 39 | client_result " Version: ${PHP_VERSION}" 40 | client_result "" 41 | fi 42 | -------------------------------------------------------------------------------- /usr/compile/common: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Locations 4 | CURRENT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) 5 | ROOT_DIR="${CURRENT_DIR}/catridge/usr" 6 | LIBS_DIR="${ROOT_DIR}/shared/libs" 7 | 8 | # Include utils 9 | source "$( dirname $( dirname ${CURRENT_DIR} ) )/lib/util.sh" 10 | 11 | # Ensure root dir exists 12 | mkdir -p ${ROOT_DIR} 13 | 14 | # Customize PATH 15 | export PATH="${LIBS_DIR}/bin:${PATH}" 16 | 17 | # Customize LD_LIBRARY_PATH 18 | if [ -z "${LD_LIBRARY_PATH}" ]; then 19 | export LD_LIBRARY_PATH="${LIBS_DIR}/lib" 20 | else 21 | export LD_LIBRARY_PATH="${LIBS_DIR}/lib:${LD_LIBRARY_PATH}" 22 | fi 23 | 24 | # Customize LIBRARY_PATH 25 | if [ -z "${LIBRARY_PATH}" ]; then 26 | export LIBRARY_PATH="${LIBS_DIR}/lib" 27 | else 28 | export LIBRARY_PATH="${LIBS_DIR}/lib:${LIBRARY_PATH}" 29 | fi 30 | 31 | # Customize PKG_CONFIG_PATH 32 | if [ -z "${PKG_CONFIG_PATH}" ]; then 33 | export PKG_CONFIG_PATH="${LIBS_DIR}/lib/pkgconfig" 34 | else 35 | export PKG_CONFIG_PATH="${LIBS_DIR}/lib/pkgconfig:${PKG_CONFIG_PATH}" 36 | fi 37 | 38 | # Customize CPATH 39 | # see https://gcc.gnu.org/onlinedocs/gcc-4.8.1/gcc/Environment-Variables.html#Environment-Variables 40 | if [ -z "${CPATH}" ]; then 41 | export CPATH="${LIBS_DIR}/include" 42 | else 43 | export CPATH="${LIBS_DIR}/include:${CPATH}" 44 | fi 45 | -------------------------------------------------------------------------------- /lib/control_util.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CONFIGURATION_DIRTY=0 4 | 5 | # Check that the configuration files are valid and have not change. 6 | # Returns 0 if no changes have been detected else 1 7 | function config() { 8 | CONFIGURATION_DIRTY=0 9 | echo "Checking configuration" 10 | 11 | # A map of files that can be configured in the repo. 12 | declare -A CONF_FILES 13 | local CONF_FILES=( ['cli/php.ini.erb']='php.ini' ['fpm/php.ini.erb']='php-fpm.ini' ['fpm/php-fpm.conf.erb']='php-fpm.conf' ) 14 | 15 | # Install config files 16 | for file in "${!CONF_FILES[@]}"; do 17 | local CONF_TARGET_FILE=${CONF_FILES["${file}"]} 18 | local CONF_FILE=${OPENSHIFT_REPO_DIR}/.openshift/${file} 19 | local TARGET_FILE=${OPENSHIFT_PHP_DIR}/conf/${CONF_TARGET_FILE} 20 | 21 | # Try to use the current OPENSHIFT_DEPLOYMENTS_DIR 22 | if [ ! -f "${CONF_FILE}" ]; then 23 | CONF_FILE=${OPENSHIFT_DEPLOYMENTS_DIR}/current/repo/.openshift/${file} 24 | fi 25 | 26 | # If no custom config is used use the default 27 | if [ ! -f "${CONF_FILE}" ]; then 28 | CONF_FILE=${OPENSHIFT_PHP_DIR}/conf/${CONF_TARGET_FILE}.erb 29 | fi 30 | 31 | if [ ! -f "${TARGET_FILE}" ] || [ "`oo-erb ${CONF_FILE} | md5sum | awk '{print $1}'`" != "`md5sum ${TARGET_FILE} | awk '{print $1}'`" ]; then 32 | echo "- ${CONF_TARGET_FILE}: ${CONF_FILE}" 33 | oo-erb ${CONF_FILE} > ${TARGET_FILE} 34 | CONFIGURATION_DIRTY=1 35 | else 36 | echo "- ${CONF_TARGET_FILE}: No change" 37 | fi 38 | done 39 | 40 | return 0 41 | } 42 | -------------------------------------------------------------------------------- /bin/setup: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | source ${OPENSHIFT_CARTRIDGE_SDK_BASH} 5 | source "${OPENSHIFT_PHP_DIR}/lib/setup_util.sh" 6 | 7 | # Archive/LFS configuration 8 | declare -a ARCHIVE_SERVERS 9 | ARCHIVE_SERVERS=( "http://download-bcartridges.rhcloud.com/php" ) 10 | LFS_ENDPOINT=https://github.com/boekkooi/openshift-cartridge-php.git/info/lfs 11 | 12 | # Resolve version 13 | case "$1" in 14 | -v|--version) 15 | version="$2" 16 | esac 17 | 18 | PHP_VERSION=7.0.7 19 | if [ ! -z "${OPENSHIFT_PHP_VERSION}" ] && [ -f "${OPENSHIFT_PHP_DIR}/usr/php-${OPENSHIFT_PHP_VERSION}.tar.gz" ]; then 20 | PHP_VERSION="${OPENSHIFT_PHP_VERSION}" 21 | elif [ -f "${OPENSHIFT_PHP_DIR}/usr/php-${version}.tar.gz" ]; then 22 | PHP_VERSION="${version}" 23 | fi 24 | 25 | PHP_VERSION_DIR=${OPENSHIFT_PHP_DIR}/usr/php-${PHP_VERSION} 26 | 27 | # Download and extract PHP version from LFS 28 | php_download_and_unpack 29 | if [ ! -d "${PHP_VERSION_DIR}" ]; then 30 | echo "Failed to download and extract PHP from LFS" 31 | exit 1 32 | fi 33 | 34 | # Create dirs 35 | mkdir -p ${OPENSHIFT_PHP_DIR}/{pid,socket,run,ext,composer/.composer,composer/bin,conf/ext} 36 | 37 | # Copy default extensions 38 | if [ -d ${PHP_VERSION_DIR}/ext/ ]; then 39 | rm -rf ${OPENSHIFT_PHP_DIR}/ext 40 | cp -R ${PHP_VERSION_DIR}/ext/ ${OPENSHIFT_PHP_DIR}/ext/ 41 | fi 42 | 43 | # Set version env variables 44 | echo "${PHP_VERSION}" > env/OPENSHIFT_PHP_VERSION 45 | echo "${PHP_VERSION_DIR}" > env/OPENSHIFT_PHP_VERSION_DIR 46 | echo "${PHP_VERSION_DIR}/bin:${OPENSHIFT_PHP_DIR}/composer/bin" > env/OPENSHIFT_PHP_PATH_ELEMENT 47 | echo $(eval echo `${PHP_VERSION_DIR}/bin/php-config --extension-dir`) > env/OPENSHIFT_PHP_EXTENSION_DIR 48 | -------------------------------------------------------------------------------- /lib/util.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function download_and_unpack() { 4 | if [ -z "${1}" ] || [ -z "${2}" ]; then 5 | echo "download_and_unpack: expected two arguments" 6 | return 1 7 | fi 8 | 9 | local pkg=${1} 10 | local pkg_url=${2} 11 | 12 | # Determin the extraction directory 13 | local extract_dir='' 14 | if [ ! -z "${3}" ]; then 15 | extract_dir="${3}" 16 | else 17 | local pkg_len=${#pkg} 18 | if [[ "${pkg}" == *'.tar.gz' ]]; then 19 | extract_len=$((pkg_len - 7)) 20 | elif [[ "${pkg}" == *'.tgz' ]]; then 21 | extract_len=$((pkg_len - 4)) 22 | elif [[ "${pkg}" == *'.tar.bz2' ]]; then 23 | extract_len=$((pkg_len - 8)) 24 | else 25 | echo "ERROR: ${pkg} unknown extension." 26 | exit -1 27 | fi 28 | extract_dir="${pkg:0:extract_len}" 29 | fi 30 | 31 | # Determin extract arguments 32 | local extract_args=xfz 33 | if [[ "${pkg}" == *'.tar.bz2' ]]; then 34 | extract_args=xfj 35 | fi 36 | 37 | # Download the package 38 | echo "Downloading ${pkg}:" 39 | if [ ! -f "${pkg}" ] || [ ! -d "${extract_dir}" ]; then 40 | wget --progress=dot --output-document=./${pkg} ${pkg_url} 41 | echo "- done" 42 | else 43 | echo "- skipping file exists." 44 | fi 45 | 46 | # Check file (incase openshift hangsup) 47 | echo "Unpacking ${pkg}:" 48 | local check_file=`md5sum ${pkg} | awk '{ print $1 }'` 49 | if [ -f ${check_file} ]; then 50 | echo "- cleaning failure." 51 | # We know extraction failed previously 52 | # So remove that folder 53 | rm -rf "${extract_dir}" 54 | elif [ -d "${extract_dir}" ]; then 55 | # The directory exists so don't extract again 56 | echo "- skipping directory exists." 57 | return 0 58 | fi 59 | 60 | # Extract 61 | touch ${check_file} 62 | tar ${extract_args} "${pkg}" 63 | 64 | # Done so remove the check file 65 | rm ${check_file} 66 | echo "- done." 67 | 68 | return 0 69 | } 70 | -------------------------------------------------------------------------------- /bin/install_pecl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | CURRENT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) 5 | 6 | # Set variables 7 | PHP_BIN_DIR=${OPENSHIFT_PHP_VERSION_DIR}/bin 8 | BUILD_DIR="${OPENSHIFT_TMP_DIR}/pecl-build" 9 | 10 | # Include utils 11 | export PATH="${OPENSHIFT_PHP_LIBS_DIR}/bin:${PATH}" 12 | source "${OPENSHIFT_PHP_DIR}/lib/util.sh" 13 | 14 | function check_pecl() { 15 | if [ -z "${1}" ] || [ -z "${2}" ]; then 16 | echo "check_pecl: expected two arguments " 17 | return 1 18 | fi 19 | 20 | local pecl_version=`${PHP_BIN_DIR}/php -r "echo phpversion('${1}');"` 21 | 22 | if [[ ${2} != ${pecl_version} ]]; then 23 | echo "PHP pecl ${1} not installed or old version ${pecl_version}." 24 | install_pecl ${1} ${2} ${3} 25 | else 26 | echo "PHP pecl ${1} up to date, version: ${2}." 27 | fi 28 | } 29 | 30 | function install_pecl() { 31 | if [ -z "${1}" ] || [ -z "${2}" ]; then 32 | echo "check_pecl: expected two arguments " 33 | return 1 34 | fi 35 | 36 | mkdir -p ${BUILD_DIR} 37 | pushd ${BUILD_DIR} 38 | 39 | # Use custom logic for phalcon 40 | if [ "${1}" == "phalcon" ]; then 41 | local name=phalcon-v${2} 42 | rm -rf cphalcon-${name} 43 | 44 | download_and_unpack ${name}.tar.gz https://github.com/phalcon/cphalcon/archive/${name}.tar.gz cphalcon-${name} 45 | pushd cphalcon-${name}/build 46 | 47 | # patch install 48 | sed \ 49 | -e "s~phpize ~${PHP_BIN_DIR}/phpize ~g" \ 50 | -e "s~./configure ~./configure --with-php-config=${PHP_BIN_DIR}/php-config ~g" \ 51 | < install > openshift_install 52 | chmod +x openshift_install 53 | 54 | # run install 55 | ./openshift_install & 56 | BG_PID=$! 57 | 58 | while kill -0 "${BG_PID}" >/dev/null 2>&1; do 59 | sh -c "sleep 60; echo -n '.'"; 60 | done 61 | 62 | popd 63 | else 64 | local name=${1}-${2} 65 | download_and_unpack ${name}.tgz http://pecl.php.net/get/${name}.tgz 66 | pushd ${name} 67 | 68 | echo "Configuring ${1}." 69 | ${PHP_BIN_DIR}/phpize 70 | ./configure \ 71 | --with-php-config=${PHP_BIN_DIR}/php-config \ 72 | ${3} 73 | 74 | echo "Compiling ${1}." 75 | make install 76 | 77 | popd 78 | fi 79 | 80 | echo "Cleaning build directory." 81 | popd 82 | rm -rf ${BUILD_DIR} 83 | 84 | # Add extension to the php.ini 85 | if ! grep "extension=${1}.so" "${OPENSHIFT_PHP_DIR}/conf/ext/${1}.ini"; then 86 | echo "extension=${1}.so" >> ${OPENSHIFT_PHP_DIR}/conf/ext/${1}.ini 87 | fi 88 | } 89 | 90 | # Install extensions 91 | check_pecl ${1} ${2} ${3} 92 | -------------------------------------------------------------------------------- /bin/control: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | source ${OPENSHIFT_CARTRIDGE_SDK_BASH} 5 | source "${OPENSHIFT_PHP_DIR}/lib/control_util.sh" 6 | 7 | export STOPTIMEOUT=20 8 | 9 | PHP_FPM_EXEC=${OPENSHIFT_PHP_VERSION_DIR}/sbin/php-fpm 10 | PHP_FPM_PID=${OPENSHIFT_PHP_DIR}/pid/php-fpm-${OPENSHIFT_GEAR_UUID}.pid 11 | 12 | function _is_running() { 13 | if [ -f "${PHP_FPM_PID}" ]; then 14 | local pid=`cat ${PHP_FPM_PID} 2> /dev/null` 15 | [ -z "${pid}" ] && return 1 16 | 17 | local current_user=`id -u` 18 | if `ps --pid ${pid} > /dev/null 2>&1` || \ 19 | `pgrep -x php-fpm -u ${current_user} > /dev/null 2>&1`; then 20 | return 0 21 | fi 22 | fi 23 | return 1 24 | } 25 | 26 | function start() { 27 | config 28 | 29 | if [ ${CONFIGURATION_DIRTY} -eq 1 ]; then 30 | stop 31 | fi 32 | 33 | if ! _is_running; then 34 | 35 | # Start php fpm 36 | ${PHP_FPM_EXEC} \ 37 | --php-ini "${OPENSHIFT_PHP_DIR}/conf/php-fpm.ini" \ 38 | --fpm-config "${OPENSHIFT_PHP_DIR}/conf/php-fpm.conf" \ 39 | --prefix "${OPENSHIFT_PHP_DIR}" 40 | 41 | _is_running && echo "PHP-FPM instance is started" 42 | else 43 | echo "PHP-FPM already running" 1>&2 44 | fi 45 | } 46 | 47 | 48 | function stop() { 49 | [ -f "${PHP_FPM_PID}" ] && pid=$( /bin/cat "${PHP_FPM_PID}" ) 50 | if `ps -p ${pid} > /dev/null 2>&1`; then 51 | /bin/kill ${pid} 52 | ret=$? 53 | if [ ${ret} -eq 0 ]; then 54 | TIMEOUT="${STOPTIMEOUT}" 55 | while [ ${TIMEOUT} -gt 0 ] && [ -f "${PHP_FPM_PID}" ]; do 56 | /bin/kill -0 "${pid}" >/dev/null 2>&1 || break 57 | sleep .5 58 | let TIMEOUT=${TIMEOUT}-1 59 | done 60 | fi 61 | else 62 | if `pgrep -x php-fpm > /dev/null 2>&1` 63 | then 64 | echo "Warning: PHP-FPM process exists without a pid file. Use force-stop to kill." 1>&2 65 | else 66 | echo "PHP-FPM already stopped" 1>&2 67 | fi 68 | fi 69 | 70 | ! _is_running && echo "PHP-FPM instance is stopped" 71 | } 72 | 73 | function restart() { 74 | stop 75 | start 76 | } 77 | 78 | function reload() { 79 | stop 80 | build 81 | start 82 | } 83 | 84 | function status() { 85 | if _is_running; then 86 | client_result "PHP-FPM is running" 87 | else 88 | client_result "PHP-FPM is stopped" 89 | fi 90 | } 91 | 92 | function build() { 93 | # Stop fpm if running 94 | if _is_running; then 95 | stop 96 | fi 97 | 98 | # Update configuration 99 | config 100 | 101 | # Install pecl 102 | PECL_FILE=${OPENSHIFT_REPO_DIR}/.openshift/php-pecl.txt 103 | if [ -f ${PECL_FILE} ]; then 104 | OLDIFS=$IFS 105 | IFS=$'\n' 106 | for pecl in $(cat ${PECL_FILE}); do 107 | if [ ! -z ${pecl} ]; then 108 | IFS=' ' read -a pecl_args <<< "${pecl}" 109 | ${OPENSHIFT_PHP_DIR}/bin/install_pecl "${pecl_args[0]}" "${pecl_args[1]}" "${pecl_args[2]}" 110 | fi 111 | done 112 | IFS=${OLDIFS} 113 | fi 114 | 115 | # Composer self-update 116 | COMPOSER_PATH=${PHP_VERSION_DIR}/bin/composer 117 | if [ -f "${COMPOSER_PATH}" ]; then 118 | ${COMPOSER_PATH} self-update 119 | fi 120 | } 121 | 122 | function tidy() { 123 | client_message "Emptying php logs in dir: ${OPENSHIFT_LOG_DIR}" 124 | shopt -s dotglob 125 | rm -rf ${OPENSHIFT_LOG_DIR}/php* 126 | } 127 | 128 | 129 | case "$1" in 130 | start) start ;; 131 | stop) stop ;; 132 | restart) restart ;; 133 | status) status ;; 134 | reload) reload ;; 135 | build) build ;; 136 | tidy) tidy ;; 137 | *) exit 0 138 | esac 139 | -------------------------------------------------------------------------------- /usr/compile/libs: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | # Include common setup 5 | source common 6 | 7 | # Set build dir 8 | BUILD_DIR="${CURRENT_DIR}/tmp/" 9 | 10 | # Versions 11 | ICU_VERSION='57.1' 12 | LIBMCRYPT_VERSION='2.5.8' 13 | LIBTOOL_VERSION='2.4.6' 14 | RE2C_VERSION='0.16' 15 | BISON_VERSION='2.7.1' 16 | 17 | # Define functions 18 | function install_re2c() { 19 | # Remark if not in PATH add RE2C=${LIBS_DIR}/bin/re2c to php ./configure 20 | local pkg=re2c-${RE2C_VERSION}.tar.gz 21 | local ts=`date +%s` 22 | 23 | mkdir -p ${BUILD_DIR} 24 | pushd ${BUILD_DIR} 25 | 26 | # Get archive 27 | download_and_unpack ${pkg} "https://github.com/skvadrik/re2c/releases/download/${RE2C_VERSION}/re2c-${RE2C_VERSION}.tar.gz" 28 | pushd re2c-${RE2C_VERSION} 29 | 30 | echo "Configuring Re2c." 31 | ./configure --prefix=${LIBS_DIR}/ 32 | 33 | echo "Compiling Re2c." 34 | make install 35 | 36 | popd 37 | popd 38 | rm -rf ${BUILD_DIR} 39 | } 40 | 41 | function install_bison() { 42 | local pkg=bison-${BISON_VERSION}.tar.gz 43 | 44 | mkdir -p ${BUILD_DIR} 45 | pushd ${BUILD_DIR} 46 | 47 | # Get archive 48 | download_and_unpack ${pkg} http://ftp.gnu.org/gnu/bison/${pkg} 49 | pushd bison-${BISON_VERSION} 50 | 51 | echo "Configuring Bison." 52 | ./configure --prefix=${LIBS_DIR} 53 | 54 | echo "Compiling Bison." 55 | make install 56 | 57 | popd 58 | popd 59 | rm -rf ${BUILD_DIR} 60 | } 61 | 62 | function install_icu() { 63 | local pkg=icu4c-${ICU_VERSION//./_}-src.tgz 64 | 65 | mkdir -p ${BUILD_DIR} 66 | pushd ${BUILD_DIR} 67 | 68 | # Get archive 69 | download_and_unpack ${pkg} http://download.icu-project.org/files/icu4c/${ICU_VERSION}/${pkg} icu 70 | pushd icu/source/ 71 | 72 | echo "Configuring ICU." 73 | chmod +x runConfigureICU configure install-sh 74 | ./configure --prefix=${LIBS_DIR} 75 | 76 | echo "Compiling ICU." 77 | make install 78 | 79 | echo "Cleaning build directory." 80 | popd 81 | popd 82 | rm -rf ${BUILD_DIR} 83 | } 84 | 85 | function install_libmcrypt() { 86 | local pkg=libmcrypt-${LIBMCRYPT_VERSION}.tar.gz 87 | local ts=`date +%s` 88 | 89 | mkdir -p ${BUILD_DIR} 90 | pushd ${BUILD_DIR} 91 | 92 | # Get archive 93 | download_and_unpack ${pkg} "http://sourceforge.net/projects/mcrypt/files/Libmcrypt/${LIBMCRYPT_VERSION}/${pkg}/download?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fmcrypt%2F&ts=${ts}&use_mirror=freefr" 94 | pushd libmcrypt-${LIBMCRYPT_VERSION} 95 | 96 | echo "Configuring LibMCrypt." 97 | ./configure \ 98 | --disable-posix-threads \ 99 | --enable-dynamic-loading \ 100 | --disable-shared \ 101 | --with-included-algos=cbc,cfb,ctr,ecb,ncfb,nofb,ofb,stream,cast-128,gost,rijndael-128,twofish,arcfour,cast-256,loki97,rijndael-192,saferplus,wake,blowfish-compat,des,rijndael-256,serpent,xtea,blowfish,enigma,rc2,tripledes \ 102 | --prefix=${LIBS_DIR} 103 | 104 | echo "Compiling LibMCrypt." 105 | make install 106 | 107 | popd 108 | popd 109 | rm -rf ${BUILD_DIR} 110 | } 111 | 112 | function install_libtool() { 113 | local pkg=libtool-${LIBTOOL_VERSION}.tar.gz 114 | local ts=`date +%s` 115 | 116 | mkdir -p ${BUILD_DIR} 117 | pushd ${BUILD_DIR} 118 | 119 | # Get archive 120 | download_and_unpack ${pkg} http://gnu.xl-mirror.nl/libtool/${pkg} 121 | pushd libtool-${LIBTOOL_VERSION} 122 | 123 | echo "Configuring Libtool." 124 | ./configure --prefix=${LIBS_DIR} 125 | 126 | echo "Compiling Libtool." 127 | make install 128 | 129 | popd 130 | popd 131 | rm -rf ${BUILD_DIR} 132 | } 133 | 134 | # Install php dependencies 135 | install_libtool 136 | install_libmcrypt 137 | install_icu 138 | install_bison 139 | install_re2c 140 | 141 | echo "Done compiling libs" 142 | -------------------------------------------------------------------------------- /lib/setup_util.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | function php_download_and_unpack() { 4 | echo "Preparing PHP:"; 5 | 6 | local EXTRACT_DIR="${OPENSHIFT_PHP_DIR}/usr/" 7 | local FILENAME="php-${PHP_VERSION}.tar.gz" 8 | 9 | local TARGET_FILE="${OPENSHIFT_PHP_DIR}/usr/${FILENAME}" 10 | local TARGET_FILE_MIMETYPE=$(file -b --mime-type "${TARGET_FILE}") 11 | 12 | local LFS_FILE="${OPENSHIFT_PHP_DIR}/usr/${FILENAME}.lfs" 13 | 14 | # In case the archive exist just unpack 15 | if [ "${TARGET_FILE_MIMETYPE}" = "application/gzip" ]; then 16 | unpack "${TARGET_FILE}" "${EXTRACT_DIR}" 17 | return $? 18 | fi 19 | 20 | # Move the file if it is a LFS file 21 | if [ "${TARGET_FILE_MIMETYPE}" = "text/plain" ]; then 22 | mv "${TARGET_FILE}" "${LFS_FILE}" 23 | fi 24 | 25 | # First check if any of the download servers has the file 26 | for ARCHIVE_SERVER in "${ARCHIVE_SERVERS[@]}"; do 27 | local rc=0 28 | php_archive_download "${ARCHIVE_SERVER}/${FILENAME}" "${TARGET_FILE}" || rc=$? 29 | if [ $rc -eq 0 ]; then 30 | unpack "${TARGET_FILE}" "${EXTRACT_DIR}" 31 | return $? 32 | fi 33 | done 34 | 35 | # Fallback to use github LFS 36 | php_lfs_download "${LFS_FILE}" "${TARGET_FILE}" 37 | unpack "${TARGET_FILE}" "${EXTRACT_DIR}" 38 | return $? 39 | } 40 | 41 | function php_archive_download() { 42 | if [ -z "${1}" ] || [ -z "${2}" ]; then 43 | echo "php_archive_download: expected two arguments" 44 | exit -1 45 | fi 46 | 47 | # Resolve some information 48 | local DOWNLOAD_URL="${1}" 49 | local DOWNLOAD_FILE="${2}" 50 | 51 | # Download the file 52 | echo "- Downloading package from ${DOWNLOAD_URL}" 53 | 54 | local rc=0 55 | wget --progress=dot --output-document="${DOWNLOAD_FILE}" "${DOWNLOAD_URL}" || rc=$? 56 | if [ ${rc} -ne 0 ]; then 57 | rm -f "${DOWNLOAD_FILE}" 58 | echo "Failed to download ${DOWNLOAD_FILE} from ${DOWNLOAD_URL}" 59 | return 1 60 | fi 61 | 62 | return 0 63 | } 64 | 65 | function php_lfs_download() { 66 | if [ -z "${1}" ] || [ -z "${2}" ]; then 67 | echo "php_lfs_download: expected two arguments" 68 | exit -1 69 | fi 70 | 71 | # Resolve some information 72 | local LFS_FILE="${1}" 73 | local DOWNLOAD_FILE="${2}" 74 | 75 | # Fetch the LFS OID 76 | echo "- Fetching package OID" 77 | local LFS_OID_REGEX='\soid (\w+):(\w+)' 78 | if [[ ! $(cat "${LFS_FILE}") =~ ${LFS_OID_REGEX} ]]; then 79 | echo "Unable to locale oid in ${LFS_FILE}" 80 | exit 1 81 | fi 82 | local LFS_OID="${BASH_REMATCH[2]}" 83 | local LFS_METADATA_URL="${LFS_ENDPOINT}/objects/${LFS_OID}" 84 | 85 | # Fetch download link 86 | echo "- Fetching download URL" 87 | local LFS_JSON=$( 88 | wget \ 89 | --progress=dot \ 90 | --output-document=- \ 91 | --header='Accept: application/vnd.git-lfs+json' \ 92 | --header='Content-Type: application/vnd.git-lfs+json' \ 93 | "${LFS_METADATA_URL}" 94 | ); 95 | if [ $? -ne 0 ]; then 96 | echo "Failed to download ${LFS_FILE} metadata from ${LFS_METADATA_URL}" 97 | exit 1 98 | fi 99 | 100 | local DOWNLOAD_URL=$(echo "${LFS_JSON}" | python -c 'import json,sys;obj=json.load(sys.stdin);print obj["_links"]["download"]["href"]') 101 | if [ $? -ne 0 ]; then 102 | echo "Failed to parse metadata from ${LFS_METADATA_URL}" 103 | exit 1 104 | fi 105 | 106 | # Download the file 107 | echo "- Downloading package" 108 | wget --progress=dot --output-document="${DOWNLOAD_FILE}" "${DOWNLOAD_URL}" 109 | if [ $? -ne 0 ]; then 110 | rm -f "${DOWNLOAD_FILE}" 111 | echo "Failed to download ${LFS_FILE} from ${DOWNLOAD_URL}" 112 | exit 1 113 | fi 114 | 115 | return 0 116 | } 117 | 118 | function unpack() { 119 | if [ -z "${1}" ] || [ -z "${2}" ]; then 120 | echo "unpack: expected two arguments" 121 | exit -1 122 | fi 123 | 124 | set +e 125 | 126 | echo "- Checking MD5" 127 | pushd "$( dirname "${1}" )" 128 | md5sum --check "${1}.md5" 129 | if [ $? -ne 0 ]; then 130 | echo "Invalid file signature!" 131 | exit 1 132 | fi 133 | popd 134 | 135 | echo "- Extracting" 136 | tar xfz "${1}" --directory="${2}" 137 | if [ $? -ne 0 ]; then 138 | gunzip -c "${1}" | tar xfz - --directory="${2}" 139 | 140 | if [ $? -ne 0 ]; then 141 | echo "Failed to extract data ${1} into ${2}. Please remove the file manually any try again." 142 | exit 1 143 | fi 144 | fi 145 | 146 | rm -f "${1}" 147 | 148 | set -e 149 | 150 | return 0 151 | } 152 | -------------------------------------------------------------------------------- /usr/compile/php: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | # Include common setup 5 | source common 6 | 7 | # Set build dir 8 | BUILD_DIR="${CURRENT_DIR}/tmp" 9 | PHP_VERSIONS=$(cat versions) 10 | 11 | # Define function 12 | function install_php() { 13 | local pkg=php-${PHP_VERSION}.tar.gz 14 | 15 | mkdir -p ${BUILD_DIR} 16 | pushd ${BUILD_DIR} 17 | 18 | # Get archive 19 | download_and_unpack ${pkg} http://php.net/get/${pkg}/from/this/mirror 20 | pushd php-${PHP_VERSION} 21 | 22 | echo "Configuring PHP." 23 | EXTENSION_DIR=${ROOT_DIR}/ext \ 24 | ./configure \ 25 | --prefix=${PHP_DIR} \ 26 | --localstatedir=${ROOT_DIR} \ 27 | --with-mcrypt=${LIBS_DIR} \ 28 | --with-layout=PHP \ 29 | --with-curl \ 30 | --with-zlib \ 31 | --with-mhash \ 32 | --with-mysql \ 33 | --with-pgsql \ 34 | --with-mysqli \ 35 | --with-pdo-mysql \ 36 | --with-pdo-pgsql \ 37 | --with-openssl \ 38 | --with-xmlrpc \ 39 | --with-xsl \ 40 | --with-bz2 \ 41 | --with-gettext \ 42 | --with-readline \ 43 | --with-kerberos \ 44 | --with-gd \ 45 | --with-jpeg-dir \ 46 | --with-png-dir \ 47 | --with-png-dir \ 48 | --with-xpm-dir \ 49 | --with-freetype-dir \ 50 | --without-pear \ 51 | --disable-debug \ 52 | --enable-gd-native-ttf \ 53 | --enable-fpm \ 54 | --enable-cli \ 55 | --enable-inline-optimization \ 56 | --enable-exif \ 57 | --enable-wddx \ 58 | --enable-zip \ 59 | --enable-bcmath \ 60 | --enable-calendar \ 61 | --enable-ftp \ 62 | --enable-mbstring \ 63 | --enable-soap \ 64 | --enable-sockets \ 65 | --enable-shmop \ 66 | --enable-dba \ 67 | --enable-sysvsem \ 68 | --enable-sysvshm \ 69 | --enable-sysvmsg \ 70 | --enable-intl \ 71 | --enable-opcache 72 | 73 | echo "Compiling PHP." 74 | make install 75 | 76 | echo "Cleaning build directory." 77 | popd 78 | popd 79 | rm -rf ${BUILD_DIR} 80 | } 81 | 82 | # Compile all required versions 83 | for version in ${PHP_VERSIONS}; do 84 | if [ ! -z "${version}" ]; then 85 | PHP_DIR="${ROOT_DIR}/php-${version}" 86 | PHP_VERSION="${version}" 87 | 88 | # Install php 89 | install_php 90 | 91 | # Remove unneeded files 92 | rm -f "${PHP_DIR}/bin/phar" 93 | rm -rf "${PHP_DIR}/etc" 94 | rm -rf "${PHP_DIR}/php" 95 | rm -rf "${PHP_DIR}/var" 96 | 97 | # Patch install for cartridge usage 98 | PHP_DIR_ESCAPED="${PHP_DIR//\//\\/}" 99 | LIBS_DIR_ESCAPED="${LIBS_DIR//\//\\/}" 100 | ROOT_DIR_ESCAPED="${ROOT_DIR//\//\\/}" 101 | 102 | pushd ${PHP_DIR}/bin 103 | for file in pecl php-config phpize; do 104 | if [ -f ${file} ]; then 105 | sed -i "s/${PHP_DIR_ESCAPED}/\${OPENSHIFT_PHP_VERSION_DIR}/g" ${file} 106 | sed -i "s/${LIBS_DIR_ESCAPED}/\${OPENSHIFT_PHP_LIBS_DIR}/g" ${file} 107 | sed -i "s/${ROOT_DIR_ESCAPED}/\${OPENSHIFT_PHP_DIR}/g" ${file} 108 | fi 109 | done 110 | popd 111 | 112 | pushd ${PHP_DIR}/include/php/main 113 | file=build-defs.h 114 | if [ -f ${file} ]; then 115 | sed -i "s/${PHP_DIR_ESCAPED}/\${OPENSHIFT_PHP_VERSION_DIR}/g" ${file} 116 | sed -i "s/${LIBS_DIR_ESCAPED}/\${OPENSHIFT_PHP_LIBS_DIR}/g" ${file} 117 | sed -i "s/${ROOT_DIR_ESCAPED}/\${OPENSHIFT_PHP_DIR}/g" ${file} 118 | fi 119 | popd 120 | 121 | # Compress 122 | pushd ${ROOT_DIR} 123 | cp -R ext php-${version}/ 124 | tar -cvf "${OPENSHIFT_REPO_DIR}/public/php-${version}.tar" php-${version} 125 | popd 126 | 127 | # Clean up 128 | rm -rf ${PHP_DIR} 129 | fi 130 | done 131 | 132 | # Backup libs before changing 133 | pushd ${ROOT_DIR} 134 | tar -cvf "${OPENSHIFT_REPO_DIR}/public/libs.tar" shared 135 | popd 136 | 137 | # Patch libs for cartridge usage 138 | pushd ${LIBS_DIR}/bin 139 | LIBS_DIR_ESCAPED="${LIBS_DIR//\//\\/}" 140 | ROOT_DIR_ESCAPED="${ROOT_DIR//\//\\/}" 141 | for file in icu-config libmcrypt-config libtoolize yacc; do 142 | if [ -f ${file} ]; then 143 | sed -i "s/${LIBS_DIR_ESCAPED}/\${OPENSHIFT_PHP_LIBS_DIR}/g" ${file} 144 | sed -i "s/${ROOT_DIR_ESCAPED}/\${OPENSHIFT_PHP_DIR}/g" ${file} 145 | fi 146 | done 147 | popd 148 | 149 | ## Remove unneeded files 150 | rm -rf "${LIBS_DIR}/man" 151 | rm -rf "${LIBS_DIR}/share/man" 152 | 153 | ## Append and compress for download 154 | pushd ${ROOT_DIR} 155 | for version in ${PHP_VERSIONS}; do 156 | if [ -f "${OPENSHIFT_REPO_DIR}/public/php-${version}.tar" ]; then 157 | # Append libs 158 | tar -rvf "${OPENSHIFT_REPO_DIR}/public/php-${version}.tar" shared 159 | 160 | # Compress for download 161 | gzip --rsyncable "${OPENSHIFT_REPO_DIR}/public/php-${version}.tar" 162 | fi 163 | done 164 | popd 165 | 166 | # Restore libs 167 | pushd ${ROOT_DIR} 168 | rm -rf shared/ 169 | tar -xf "${OPENSHIFT_REPO_DIR}/public/libs.tar" shared 170 | rm "${OPENSHIFT_REPO_DIR}/public/libs.tar" 171 | popd 172 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Openshift PHP Plugin Cartridge 2 | Welcome to the world of [PHP-FPM](http://php.net/manual/en/book.fpm.php) within [openshift](https://www.openshift.com/). 3 | 4 | Currently this cartridge works well the [boekkooi NGINX cartridge](https://github.com/boekkooi/openshift-cartridge-nginx). 5 | 6 | You can add this cartridge to your application using: 7 | ```BASH 8 | rhc cartridge add -a myapp http://cartreflect-claytondev.rhcloud.com/github/boekkooi/openshift-cartridge-php 9 | ``` 10 | 11 | If you want to install a specific PHP version you can add `--env OPENSHIFT_PHP_VERSION=` to the command. 12 | For example to install PHP 5.5.22 you can use: 13 | ```BASH 14 | rhc cartridge add -a myapp --env OPENSHIFT_PHP_VERSION=5.5.22 http://cartreflect-claytondev.rhcloud.com/github/boekkooi/openshift-cartridge-php 15 | ``` 16 | 17 | ## Versions 18 | Currently this cartridge has the following versions: 19 | - PHP 7.0.7 20 | - PHP 5.6.22 21 | - PHP 5.6.16 22 | - PHP 5.5.36 23 | - PHP 5.5.22 24 | 25 | If you need another version you can compile it yourself and submit a PR to get it integrated. 26 | 27 | ## Configuration 28 | For the best result with this cartridge you are advised to create a `.openshift/action_hooks/build` and add the following to it: 29 | ```BASH 30 | #!/bin/bash 31 | set -e 32 | 33 | # Build PHP extra's 34 | # Update conf/ini files and install pecl extensions 35 | ${OPENSHIFT_PHP_DIR}/bin/control build 36 | ``` 37 | 38 | Now it's time to configure nginx edit your `.openshift/nginx.conf.erb` and add the following within the `server` section: 39 | ``` 40 | # pass the PHP scripts to PHP-FPM 41 | location ~ \.php$ { 42 | fastcgi_pass unix:<%= ENV['OPENSHIFT_PHP_SOCKET'] %>; 43 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 44 | fastcgi_param PATH_INFO $fastcgi_script_name; 45 | include <%= ENV['OPENSHIFT_NGINX_DIR'] %>/usr/nginx-<%= ENV['OPENSHIFT_NGINX_VERSION'] %>/conf/fastcgi_params; 46 | } 47 | ``` 48 | 49 | ### PHP.ini etc. 50 | If you have created `.openshift/action_hooks/build` you can fully customize the PHP configuration. 51 | In your application create the following directories: 52 | ``` 53 | .openshift/cli/ 54 | .openshift/fpm/ 55 | ``` 56 | 57 | In the `cli` directory create the `php.ini.erb` file and copy the content from [`conf/php.ini.erb`](https://github.com/boekkooi/openshift-cartridge-php/blob/master/conf/php.ini.erb) into it. 58 | Now you can customize the cli php configuration. 59 | 60 | In the `fpm` directory create the `php.ini.erb` file and copy the content from [`conf/php-fpm.ini.erb`](https://github.com/boekkooi/openshift-cartridge-php/blob/master/conf/php-fpm.ini.erb) into it. 61 | Also create the `php-fpm.conf.erb` file and copy the content from [`conf/php-fpm.conf.erb`](https://github.com/boekkooi/openshift-cartridge-php/blob/master/conf/php-fpm.conf.erb) into it. 62 | Now you can customize the php-fpm configuration. 63 | 64 | ## Composer/PEAR 65 | Composer is installed by default and can be used by simply ssh to your application and typing in `composer`. 66 | 67 | So where is PEAR? It's not there! Why? Read [The rise of Composer and the fall of PEAR](http://fabien.potencier.org/article/72/the-rise-of-composer-and-the-fall-of-pear). 68 | If you really need PEAR then download it your self using [`php go-pear.phar`](http://pear.php.net/manual/en/installation.getting.php) and pray it work. *Any PR's related to PEAR or failure to install it will be ignored* 69 | 70 | ### PECL 71 | If you have created `.openshift/action_hooks/build` you can create the `.openshift/php-pecl.txt` to auto install pecl extensions. 72 | This file must constain have a pecl extension name and version per line for example: 73 | ``` 74 | apcu 4.0.7 75 | mongo 1.6.5 76 | ``` 77 | Note for Openshift online: even though the scripts should automatically add the extension declaration in the php.ini files, if you have custom ini.erb files the extension declaration might be overwritten when they are deployed. In that case you must declare the extension manually in your .ini.erb files. 78 | 79 | ### Phalcon 80 | There is special support for [phalcon](http://phalconphp.com/) you can simply install it by adding the following to your `.openshift/php-pecl.txt` file. 81 | ``` 82 | phalcon 1.3.4 83 | ``` 84 | Don't forget to change your `.openshift/nginx.conf.erb` according to the [phalcon nginx installation notes](http://docs.phalconphp.com/en/latest/reference/nginx.html). 85 | 86 | *Be aware that to compile phalcon 2.x you need a medium gear because 1GB of RAM is required* 87 | 88 | ### Compiling a new version 89 | To compile a new version you will first need a openshift application. 90 | ```BASH 91 | rhc create-app nginx http://cartreflect-claytondev.rhcloud.com/github/boekkooi/openshift-cartridge-nginx 92 | ``` 93 | 94 | Now clone the repository and create a `php` folder. Now copy the `usr/compile` directory from [this](https://github.com/boekkooi/openshift-cartridge-php) repository. 95 | Now set the versions you need to compile in the `php/compile/versions` file. Commit and push the application repository. 96 | 97 | SSH into your app and go to the compile folder (`cd ${OPENSHIFT_REPO_DIR}/php/compile`) and start compiling by running the following commands: 98 | ```BASH 99 | ./libs 100 | ./php 101 | ``` 102 | Once compiling is done you can download the `php-{version}.tar.gz` from you application. 103 | Place the archive into the `openshift-cartridge-php/usr` folder. 104 | Last but not least edit the `openshift-cartridge-php/manifest.yml` and add the versions. 105 | 106 | (Make sure you have [Git LFS](https://git-lfs.github.com/) installed.) 107 | Now commit and push to your `openshift-cartridge-php` repo and create a [PR](https://github.com/boekkooi/openshift-cartridge-php/pulls). 108 | 109 | To use your own fork make sure you change `LFS_ENDPOINT` in `openshift-cartridge-php/bin/setup` and use: 110 | ```BASH 111 | rhc cartridge add -a myapp http://cartreflect-claytondev.rhcloud.com/github//openshift-cartridge-php 112 | ``` 113 | 114 | ## Updates 115 | Updating this cartridge is not as easy as I would like because openshift online won't allow updates for downloaded cartridges. 116 | To update the cartridge you can do the following: 117 | ```BASH 118 | rhc cartridge remove -a myapp --confirm php 119 | rhc cartridge add -a myapp http://cartreflect-claytondev.rhcloud.com/github//openshift-cartridge-php 120 | ``` 121 | This will remove the old version and install the latest version. 122 | -------------------------------------------------------------------------------- /conf/php-fpm.conf.erb: -------------------------------------------------------------------------------- 1 | ;;;;;;;;;;;;;;;;;;;;; 2 | ; FPM Configuration ; 3 | ;;;;;;;;;;;;;;;;;;;;; 4 | 5 | ; All relative paths in this configuration file are relative to PHP's install 6 | ; prefix (). This prefix can be dynamically changed by using the 7 | ; '-p' argument from the command line. 8 | 9 | ; Include one or more files. If glob(3) exists, it is used to include a bunch of 10 | ; files from a glob(3) pattern. This directive can be used everywhere in the 11 | ; file. 12 | ; Relative path can also be used. They will be prefixed by: 13 | ; - the global prefix if it's been set (-p argument) 14 | ; - otherwise 15 | ;include=etc/fpm.d/*.conf 16 | 17 | ;;;;;;;;;;;;;;;;;; 18 | ; Global Options ; 19 | ;;;;;;;;;;;;;;;;;; 20 | 21 | [global] 22 | ; Pid file 23 | ; Note: the default prefix is /var 24 | ; Default Value: none 25 | pid = <%= ENV['OPENSHIFT_PHP_DIR'] %>/pid/php-fpm-<%= ENV['OPENSHIFT_GEAR_UUID'] %>.pid 26 | 27 | ; Error log file 28 | ; If it's set to "syslog", log is sent to syslogd instead of being written 29 | ; in a local file. 30 | ; Note: the default prefix is /var 31 | ; Default Value: log/php-fpm.log 32 | error_log = <%= ENV['OPENSHIFT_LOG_DIR'] %>/php-fpm-error.log 33 | 34 | ; syslog_facility is used to specify what type of program is logging the 35 | ; message. This lets syslogd specify that messages from different facilities 36 | ; will be handled differently. 37 | ; See syslog(3) for possible values (ex daemon equiv LOG_DAEMON) 38 | ; Default Value: daemon 39 | ;syslog.facility = daemon 40 | 41 | ; syslog_ident is prepended to every message. If you have multiple FPM 42 | ; instances running on the same server, you can change the default value 43 | ; which must suit common needs. 44 | ; Default Value: php-fpm 45 | ;syslog.ident = php-fpm 46 | 47 | ; Log level 48 | ; Possible Values: alert, error, warning, notice, debug 49 | ; Default Value: notice 50 | ;log_level = notice 51 | 52 | ; If this number of child processes exit with SIGSEGV or SIGBUS within the time 53 | ; interval set by emergency_restart_interval then FPM will restart. A value 54 | ; of '0' means 'Off'. 55 | ; Default Value: 0 56 | ;emergency_restart_threshold = 0 57 | 58 | ; Interval of time used by emergency_restart_interval to determine when 59 | ; a graceful restart will be initiated. This can be useful to work around 60 | ; accidental corruptions in an accelerator's shared memory. 61 | ; Available Units: s(econds), m(inutes), h(ours), or d(ays) 62 | ; Default Unit: seconds 63 | ; Default Value: 0 64 | ;emergency_restart_interval = 0 65 | 66 | ; Time limit for child processes to wait for a reaction on signals from master. 67 | ; Available units: s(econds), m(inutes), h(ours), or d(ays) 68 | ; Default Unit: seconds 69 | ; Default Value: 0 70 | ;process_control_timeout = 0 71 | 72 | ; The maximum number of processes FPM will fork. This has been design to control 73 | ; the global number of processes when using dynamic PM within a lot of pools. 74 | ; Use it with caution. 75 | ; Note: A value of 0 indicates no limit 76 | ; Default Value: 0 77 | ; process.max = 128 78 | 79 | ; Specify the nice(2) priority to apply to the master process (only if set) 80 | ; The value can vary from -19 (highest priority) to 20 (lower priority) 81 | ; Note: - It will only work if the FPM master process is launched as root 82 | ; - The pool process will inherit the master process priority 83 | ; unless it specified otherwise 84 | ; Default Value: no set 85 | ; process.priority = -19 86 | 87 | ; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging. 88 | ; Default Value: yes 89 | ;daemonize = yes 90 | 91 | ; Set open file descriptor rlimit for the master process. 92 | ; Default Value: system defined value 93 | ;rlimit_files = 1024 94 | 95 | ; Set max core size rlimit for the master process. 96 | ; Possible Values: 'unlimited' or an integer greater or equal to 0 97 | ; Default Value: system defined value 98 | ;rlimit_core = 0 99 | 100 | ; Specify the event mechanism FPM will use. The following is available: 101 | ; - select (any POSIX os) 102 | ; - poll (any POSIX os) 103 | ; - epoll (linux >= 2.5.44) 104 | ; - kqueue (FreeBSD >= 4.1, OpenBSD >= 2.9, NetBSD >= 2.0) 105 | ; - /dev/poll (Solaris >= 7) 106 | ; - port (Solaris >= 10) 107 | ; Default Value: not set (auto detection) 108 | ;events.mechanism = epoll 109 | 110 | ; When FPM is build with systemd integration, specify the interval, 111 | ; in second, between health report notification to systemd. 112 | ; Set to 0 to disable. 113 | ; Available Units: s(econds), m(inutes), h(ours) 114 | ; Default Unit: seconds 115 | ; Default value: 10 116 | ;systemd_interval = 10 117 | 118 | ;;;;;;;;;;;;;;;;;;;; 119 | ; Pool Definitions ; 120 | ;;;;;;;;;;;;;;;;;;;; 121 | 122 | ; Multiple pools of child processes may be started with different listening 123 | ; ports and different management options. The name of the pool will be 124 | ; used in logs and stats. There is no limitation on the number of pools which 125 | ; FPM can handle. Your system will tell you anyway :) 126 | 127 | ; Start a new pool named 'www'. 128 | ; the variable $pool can we used in any directive and will be replaced by the 129 | ; pool name ('www' here) 130 | [www] 131 | 132 | ; Per pool prefix 133 | ; It only applies on the following directives: 134 | ; - 'access.log' 135 | ; - 'slowlog' 136 | ; - 'listen' (unixsocket) 137 | ; - 'chroot' 138 | ; - 'chdir' 139 | ; - 'php_values' 140 | ; - 'php_admin_values' 141 | ; When not set, the global prefix (or ) applies instead. 142 | ; Note: This directive can also be relative to the global prefix. 143 | ; Default Value: none 144 | prefix = <%= ENV['OPENSHIFT_PHP_DIR'] %>/usr/php-<%= ENV['OPENSHIFT_PHP_VERSION'] %> 145 | 146 | ; Unix user/group of processes 147 | ; Note: The user is mandatory. If the group is not set, the default user's group 148 | ; will be used. 149 | user = nobody 150 | group = nobody 151 | 152 | ; The address on which to accept FastCGI requests. 153 | ; Valid syntaxes are: 154 | ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on 155 | ; a specific port; 156 | ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on 157 | ; a specific port; 158 | ; 'port' - to listen on a TCP socket to all IPv4 addresses on a 159 | ; specific port; 160 | ; '[::]:port' - to listen on a TCP socket to all addresses 161 | ; (IPv6 and IPv4-mapped) on a specific port; 162 | ; '/path/to/unix/socket' - to listen on a unix socket. 163 | ; Note: This value is mandatory. 164 | listen = <%= ENV['OPENSHIFT_PHP_SOCKET'] %> 165 | 166 | ; Set listen(2) backlog. 167 | ; Default Value: 65535 (-1 on FreeBSD and OpenBSD) 168 | ;listen.backlog = 65535 169 | 170 | ; Set permissions for unix socket, if one is used. In Linux, read/write 171 | ; permissions must be set in order to allow connections from a web server. Many 172 | ; BSD-derived systems allow connections regardless of permissions. 173 | ; Default Values: user and group are set as the running user 174 | ; mode is set to 0660 175 | ;listen.owner = nobody 176 | ;listen.group = nobody 177 | ;listen.mode = 0660 178 | 179 | ; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect. 180 | ; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original 181 | ; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address 182 | ; must be separated by a comma. If this value is left blank, connections will be 183 | ; accepted from any ip address. 184 | ; Default Value: any 185 | ;listen.allowed_clients = 127.0.0.1 186 | 187 | ; Specify the nice(2) priority to apply to the pool processes (only if set) 188 | ; The value can vary from -19 (highest priority) to 20 (lower priority) 189 | ; Note: - It will only work if the FPM master process is launched as root 190 | ; - The pool processes will inherit the master process priority 191 | ; unless it specified otherwise 192 | ; Default Value: no set 193 | ; process.priority = -19 194 | 195 | ; Choose how the process manager will control the number of child processes. 196 | ; Possible Values: 197 | ; static - a fixed number (pm.max_children) of child processes; 198 | ; dynamic - the number of child processes are set dynamically based on the 199 | ; following directives. With this process management, there will be 200 | ; always at least 1 children. 201 | ; pm.max_children - the maximum number of children that can 202 | ; be alive at the same time. 203 | ; pm.start_servers - the number of children created on startup. 204 | ; pm.min_spare_servers - the minimum number of children in 'idle' 205 | ; state (waiting to process). If the number 206 | ; of 'idle' processes is less than this 207 | ; number then some children will be created. 208 | ; pm.max_spare_servers - the maximum number of children in 'idle' 209 | ; state (waiting to process). If the number 210 | ; of 'idle' processes is greater than this 211 | ; number then some children will be killed. 212 | ; ondemand - no children are created at startup. Children will be forked when 213 | ; new requests will connect. The following parameter are used: 214 | ; pm.max_children - the maximum number of children that 215 | ; can be alive at the same time. 216 | ; pm.process_idle_timeout - The number of seconds after which 217 | ; an idle process will be killed. 218 | ; Note: This value is mandatory. 219 | pm = dynamic 220 | 221 | ; The number of child processes to be created when pm is set to 'static' and the 222 | ; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'. 223 | ; This value sets the limit on the number of simultaneous requests that will be 224 | ; served. Equivalent to the ApacheMaxClients directive with mpm_prefork. 225 | ; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP 226 | ; CGI. The below defaults are based on a server without much resources. Don't 227 | ; forget to tweak pm.* to fit your needs. 228 | ; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' 229 | ; Note: This value is mandatory. 230 | pm.max_children = 5 231 | 232 | ; The number of child processes created on startup. 233 | ; Note: Used only when pm is set to 'dynamic' 234 | ; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 235 | pm.start_servers = 2 236 | 237 | ; The desired minimum number of idle server processes. 238 | ; Note: Used only when pm is set to 'dynamic' 239 | ; Note: Mandatory when pm is set to 'dynamic' 240 | pm.min_spare_servers = 1 241 | 242 | ; The desired maximum number of idle server processes. 243 | ; Note: Used only when pm is set to 'dynamic' 244 | ; Note: Mandatory when pm is set to 'dynamic' 245 | pm.max_spare_servers = 3 246 | 247 | ; The number of seconds after which an idle process will be killed. 248 | ; Note: Used only when pm is set to 'ondemand' 249 | ; Default Value: 10s 250 | ;pm.process_idle_timeout = 10s; 251 | 252 | ; The number of requests each child process should execute before respawning. 253 | ; This can be useful to work around memory leaks in 3rd party libraries. For 254 | ; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. 255 | ; Default Value: 0 256 | ;pm.max_requests = 500 257 | 258 | ; The URI to view the FPM status page. If this value is not set, no URI will be 259 | ; recognized as a status page. It shows the following informations: 260 | ; pool - the name of the pool; 261 | ; process manager - static, dynamic or ondemand; 262 | ; start time - the date and time FPM has started; 263 | ; start since - number of seconds since FPM has started; 264 | ; accepted conn - the number of request accepted by the pool; 265 | ; listen queue - the number of request in the queue of pending 266 | ; connections (see backlog in listen(2)); 267 | ; max listen queue - the maximum number of requests in the queue 268 | ; of pending connections since FPM has started; 269 | ; listen queue len - the size of the socket queue of pending connections; 270 | ; idle processes - the number of idle processes; 271 | ; active processes - the number of active processes; 272 | ; total processes - the number of idle + active processes; 273 | ; max active processes - the maximum number of active processes since FPM 274 | ; has started; 275 | ; max children reached - number of times, the process limit has been reached, 276 | ; when pm tries to start more children (works only for 277 | ; pm 'dynamic' and 'ondemand'); 278 | ; Value are updated in real time. 279 | ; Example output: 280 | ; pool: www 281 | ; process manager: static 282 | ; start time: 01/Jul/2011:17:53:49 +0200 283 | ; start since: 62636 284 | ; accepted conn: 190460 285 | ; listen queue: 0 286 | ; max listen queue: 1 287 | ; listen queue len: 42 288 | ; idle processes: 4 289 | ; active processes: 11 290 | ; total processes: 15 291 | ; max active processes: 12 292 | ; max children reached: 0 293 | ; 294 | ; By default the status page output is formatted as text/plain. Passing either 295 | ; 'html', 'xml' or 'json' in the query string will return the corresponding 296 | ; output syntax. Example: 297 | ; http://www.foo.bar/status 298 | ; http://www.foo.bar/status?json 299 | ; http://www.foo.bar/status?html 300 | ; http://www.foo.bar/status?xml 301 | ; 302 | ; By default the status page only outputs short status. Passing 'full' in the 303 | ; query string will also return status for each pool process. 304 | ; Example: 305 | ; http://www.foo.bar/status?full 306 | ; http://www.foo.bar/status?json&full 307 | ; http://www.foo.bar/status?html&full 308 | ; http://www.foo.bar/status?xml&full 309 | ; The Full status returns for each process: 310 | ; pid - the PID of the process; 311 | ; state - the state of the process (Idle, Running, ...); 312 | ; start time - the date and time the process has started; 313 | ; start since - the number of seconds since the process has started; 314 | ; requests - the number of requests the process has served; 315 | ; request duration - the duration in µs of the requests; 316 | ; request method - the request method (GET, POST, ...); 317 | ; request URI - the request URI with the query string; 318 | ; content length - the content length of the request (only with POST); 319 | ; user - the user (PHP_AUTH_USER) (or '-' if not set); 320 | ; script - the main script called (or '-' if not set); 321 | ; last request cpu - the %cpu the last request consumed 322 | ; it's always 0 if the process is not in Idle state 323 | ; because CPU calculation is done when the request 324 | ; processing has terminated; 325 | ; last request memory - the max amount of memory the last request consumed 326 | ; it's always 0 if the process is not in Idle state 327 | ; because memory calculation is done when the request 328 | ; processing has terminated; 329 | ; If the process is in Idle state, then informations are related to the 330 | ; last request the process has served. Otherwise informations are related to 331 | ; the current request being served. 332 | ; Example output: 333 | ; ************************ 334 | ; pid: 31330 335 | ; state: Running 336 | ; start time: 01/Jul/2011:17:53:49 +0200 337 | ; start since: 63087 338 | ; requests: 12808 339 | ; request duration: 1250261 340 | ; request method: GET 341 | ; request URI: /test_mem.php?N=10000 342 | ; content length: 0 343 | ; user: - 344 | ; script: /home/fat/web/docs/php/test_mem.php 345 | ; last request cpu: 0.00 346 | ; last request memory: 0 347 | ; 348 | ; Note: There is a real-time FPM status monitoring sample web page available 349 | ; It's available in: /share/php/fpm/status.html 350 | ; 351 | ; Note: The value must start with a leading slash (/). The value can be 352 | ; anything, but it may not be a good idea to use the .php extension or it 353 | ; may conflict with a real PHP file. 354 | ; Default Value: not set 355 | ;pm.status_path = /status 356 | 357 | ; The ping URI to call the monitoring page of FPM. If this value is not set, no 358 | ; URI will be recognized as a ping page. This could be used to test from outside 359 | ; that FPM is alive and responding, or to 360 | ; - create a graph of FPM availability (rrd or such); 361 | ; - remove a server from a group if it is not responding (load balancing); 362 | ; - trigger alerts for the operating team (24/7). 363 | ; Note: The value must start with a leading slash (/). The value can be 364 | ; anything, but it may not be a good idea to use the .php extension or it 365 | ; may conflict with a real PHP file. 366 | ; Default Value: not set 367 | ;ping.path = /ping 368 | 369 | ; This directive may be used to customize the response of a ping request. The 370 | ; response is formatted as text/plain with a 200 response code. 371 | ; Default Value: pong 372 | ;ping.response = pong 373 | 374 | ; The access log file 375 | ; Default: not set 376 | ;access.log = logs/$pool.access.log 377 | 378 | ; The access log format. 379 | ; The following syntax is allowed 380 | ; %%: the '%' character 381 | ; %C: %CPU used by the request 382 | ; it can accept the following format: 383 | ; - %{user}C for user CPU only 384 | ; - %{system}C for system CPU only 385 | ; - %{total}C for user + system CPU (default) 386 | ; %d: time taken to serve the request 387 | ; it can accept the following format: 388 | ; - %{seconds}d (default) 389 | ; - %{miliseconds}d 390 | ; - %{mili}d 391 | ; - %{microseconds}d 392 | ; - %{micro}d 393 | ; %e: an environment variable (same as $_ENV or $_SERVER) 394 | ; it must be associated with embraces to specify the name of the env 395 | ; variable. Some exemples: 396 | ; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e 397 | ; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e 398 | ; %f: script filename 399 | ; %l: content-length of the request (for POST request only) 400 | ; %m: request method 401 | ; %M: peak of memory allocated by PHP 402 | ; it can accept the following format: 403 | ; - %{bytes}M (default) 404 | ; - %{kilobytes}M 405 | ; - %{kilo}M 406 | ; - %{megabytes}M 407 | ; - %{mega}M 408 | ; %n: pool name 409 | ; %o: output header 410 | ; it must be associated with embraces to specify the name of the header: 411 | ; - %{Content-Type}o 412 | ; - %{X-Powered-By}o 413 | ; - %{Transfert-Encoding}o 414 | ; - .... 415 | ; %p: PID of the child that serviced the request 416 | ; %P: PID of the parent of the child that serviced the request 417 | ; %q: the query string 418 | ; %Q: the '?' character if query string exists 419 | ; %r: the request URI (without the query string, see %q and %Q) 420 | ; %R: remote IP address 421 | ; %s: status (response code) 422 | ; %t: server time the request was received 423 | ; it can accept a strftime(3) format: 424 | ; %d/%b/%Y:%H:%M:%S %z (default) 425 | ; %T: time the log has been written (the request has finished) 426 | ; it can accept a strftime(3) format: 427 | ; %d/%b/%Y:%H:%M:%S %z (default) 428 | ; %u: remote user 429 | ; 430 | ; Default: "%R - %u %t \"%m %r\" %s" 431 | ;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%" 432 | 433 | ; The log file for slow requests 434 | ; Default Value: not set 435 | ; Note: slowlog is mandatory if request_slowlog_timeout is set 436 | ;slowlog = logs/$pool.log.slow 437 | 438 | ; The timeout for serving a single request after which a PHP backtrace will be 439 | ; dumped to the 'slowlog' file. A value of '0s' means 'off'. 440 | ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) 441 | ; Default Value: 0 442 | ;request_slowlog_timeout = 0 443 | 444 | ; The timeout for serving a single request after which the worker process will 445 | ; be killed. This option should be used when the 'max_execution_time' ini option 446 | ; does not stop script execution for some reason. A value of '0' means 'off'. 447 | ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) 448 | ; Default Value: 0 449 | ;request_terminate_timeout = 0 450 | 451 | ; Set open file descriptor rlimit. 452 | ; Default Value: system defined value 453 | ;rlimit_files = 1024 454 | 455 | ; Set max core size rlimit. 456 | ; Possible Values: 'unlimited' or an integer greater or equal to 0 457 | ; Default Value: system defined value 458 | ;rlimit_core = 0 459 | 460 | ; Chroot to this directory at the start. This value must be defined as an 461 | ; absolute path. When this value is not set, chroot is not used. 462 | ; Note: you can prefix with '$prefix' to chroot to the pool prefix or one 463 | ; of its subdirectories. If the pool prefix is not set, the global prefix 464 | ; will be used instead. 465 | ; Note: chrooting is a great security feature and should be used whenever 466 | ; possible. However, all PHP paths will be relative to the chroot 467 | ; (error_log, sessions.save_path, ...). 468 | ; Default Value: not set 469 | ;chroot = 470 | 471 | ; Chdir to this directory at the start. 472 | ; Note: relative path can be used. 473 | ; Default Value: current directory or / when chroot 474 | ;chdir = /var/www 475 | 476 | ; Redirect worker stdout and stderr into main error log. If not set, stdout and 477 | ; stderr will be redirected to /dev/null according to FastCGI specs. 478 | ; Note: on highloaded environement, this can cause some delay in the page 479 | ; process time (several ms). 480 | ; Default Value: no 481 | ;catch_workers_output = yes 482 | 483 | ; Clear environment in FPM workers 484 | ; Prevents arbitrary environment variables from reaching FPM worker processes 485 | ; by clearing the environment in workers before env vars specified in this 486 | ; pool configuration are added. 487 | ; Setting to "no" will make all environment variables available to PHP code 488 | ; via getenv(), $_ENV and $_SERVER. 489 | ; Default Value: yes 490 | ;clear_env = no 491 | 492 | ; Limits the extensions of the main script FPM will allow to parse. This can 493 | ; prevent configuration mistakes on the web server side. You should only limit 494 | ; FPM to .php extensions to prevent malicious users to use other extensions to 495 | ; exectute php code. 496 | ; Note: set an empty value to allow all extensions. 497 | ; Default Value: .php 498 | ;security.limit_extensions = .php .php3 .php4 .php5 499 | 500 | ; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from 501 | ; the current environment. 502 | ; Default Value: clean env 503 | ;env[HOSTNAME] = $HOSTNAME 504 | ;env[PATH] = /usr/local/bin:/usr/bin:/bin 505 | ;env[TMP] = /tmp 506 | ;env[TMPDIR] = /tmp 507 | ;env[TEMP] = /tmp 508 | 509 | ; Informational Environment Variables 510 | env[OPENSHIFT_APP_DNS] = $OPENSHIFT_APP_DNS 511 | env[OPENSHIFT_APP_NAME] = $OPENSHIFT_APP_NAME 512 | env[OPENSHIFT_APP_UUID] = $OPENSHIFT_APP_UUID 513 | 514 | ; Directory Environment Variables 515 | env[OPENSHIFT_DATA_DIR] = $OPENSHIFT_DATA_DIR 516 | env[OPENSHIFT_REPO_DIR] = $OPENSHIFT_REPO_DIR 517 | env[OPENSHIFT_TMP_DIR] = $OPENSHIFT_TMP_DIR 518 | env[OPENSHIFT_LOG_DIR] = $OPENSHIFT_LOG_DIR 519 | 520 | ; Database Environment Variables 521 | env[OPENSHIFT_MYSQL_DB_HOST] = $OPENSHIFT_MYSQL_DB_HOST 522 | env[OPENSHIFT_MYSQL_DB_PORT] = $OPENSHIFT_MYSQL_DB_PORT 523 | env[OPENSHIFT_MYSQL_DB_SOCKET] = $OPENSHIFT_MYSQL_DB_SOCKET 524 | env[OPENSHIFT_MYSQL_DB_URL] = $OPENSHIFT_MYSQL_DB_URL 525 | env[OPENSHIFT_MYSQL_DB_USERNAME] = $OPENSHIFT_MYSQL_DB_USERNAME 526 | env[OPENSHIFT_MYSQL_DB_PASSWORD] = $OPENSHIFT_MYSQL_DB_PASSWORD 527 | 528 | env[OPENSHIFT_MONGODB_DB_HOST] = $OPENSHIFT_MONGODB_DB_HOST 529 | env[OPENSHIFT_MONGODB_DB_PORT] = $OPENSHIFT_MONGODB_DB_PORT 530 | env[OPENSHIFT_MONGODB_DB_SOCKET] = $OPENSHIFT_MONGODB_DB_SOCKET 531 | env[OPENSHIFT_MONGODB_DB_URL] = $OPENSHIFT_MONGODB_DB_URL 532 | env[OPENSHIFT_MONGODB_DB_USERNAME] = $OPENSHIFT_MONGODB_DB_USERNAME 533 | env[OPENSHIFT_MONGODB_DB_PASSWORD] = $OPENSHIFT_MONGODB_DB_PASSWORD 534 | 535 | env[OPENSHIFT_POSTGRESQL_DB_HOST] = $OPENSHIFT_POSTGRESQL_DB_HOST 536 | env[OPENSHIFT_POSTGRESQL_DB_PORT] = $OPENSHIFT_POSTGRESQL_DB_PORT 537 | env[OPENSHIFT_POSTGRESQL_DB_SOCKET] = $OPENSHIFT_POSTGRESQL_DB_SOCKET 538 | env[OPENSHIFT_POSTGRESQL_DB_URL] = $OPENSHIFT_POSTGRESQL_DB_URL 539 | env[OPENSHIFT_POSTGRESQL_DB_USERNAME] = $OPENSHIFT_POSTGRESQL_DB_USERNAME 540 | env[OPENSHIFT_POSTGRESQL_DB_PASSWORD] = $OPENSHIFT_POSTGRESQL_DB_PASSWORD 541 | 542 | ; Gear Environment Variables 543 | env[OPENSHIFT_GEAR_DNS] = $OPENSHIFT_GEAR_DNS 544 | env[OPENSHIFT_GEAR_NAME] = $OPENSHIFT_GEAR_NAME 545 | env[OPENSHIFT_GEAR_UUID] = $OPENSHIFT_GEAR_UUID 546 | 547 | ; Additional php.ini defines, specific to this pool of workers. These settings 548 | ; overwrite the values previously defined in the php.ini. The directives are the 549 | ; same as the PHP SAPI: 550 | ; php_value/php_flag - you can set classic ini defines which can 551 | ; be overwritten from PHP call 'ini_set'. 552 | ; php_admin_value/php_admin_flag - these directives won't be overwritten by 553 | ; PHP call 'ini_set' 554 | ; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no. 555 | 556 | ; Defining 'extension' will load the corresponding shared extension from 557 | ; extension_dir. Defining 'disable_functions' or 'disable_classes' will not 558 | ; overwrite previously defined php.ini values, but will append the new value 559 | ; instead. 560 | 561 | ; Note: path INI options can be relative and will be expanded with the prefix 562 | ; (pool, global or ) 563 | 564 | ; Default Value: nothing is defined by default except the values in php.ini and 565 | ; specified at startup with the -d argument 566 | ;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com 567 | ;php_flag[display_errors] = off 568 | ;php_admin_value[error_log] = /var/log/fpm-php.www.log 569 | ;php_admin_flag[log_errors] = on 570 | ;php_admin_value[memory_limit] = 32M 571 | -------------------------------------------------------------------------------- /conf/php.ini.erb: -------------------------------------------------------------------------------- 1 | [PHP] 2 | 3 | ;;;;;;;;;;;;;;;;;;; 4 | ; About php.ini ; 5 | ;;;;;;;;;;;;;;;;;;; 6 | ; PHP's initialization file, generally called php.ini, is responsible for 7 | ; configuring many of the aspects of PHP's behavior. 8 | 9 | ; PHP attempts to find and load this configuration from a number of locations. 10 | ; The following is a summary of its search order: 11 | ; 1. SAPI module specific location. 12 | ; 2. The PHPRC environment variable. (As of PHP 5.2.0) 13 | ; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) 14 | ; 4. Current working directory (except CLI) 15 | ; 5. The web server's directory (for SAPI modules), or directory of PHP 16 | ; (otherwise in Windows) 17 | ; 6. The directory from the --with-config-file-path compile time option, or the 18 | ; Windows directory (C:\windows or C:\winnt) 19 | ; See the PHP docs for more specific information. 20 | ; http://php.net/configuration.file 21 | 22 | ; The syntax of the file is extremely simple. Whitespace and lines 23 | ; beginning with a semicolon are silently ignored (as you probably guessed). 24 | ; Section headers (e.g. [Foo]) are also silently ignored, even though 25 | ; they might mean something in the future. 26 | 27 | ; Directives following the section heading [PATH=/www/mysite] only 28 | ; apply to PHP files in the /www/mysite directory. Directives 29 | ; following the section heading [HOST=www.example.com] only apply to 30 | ; PHP files served from www.example.com. Directives set in these 31 | ; special sections cannot be overridden by user-defined INI files or 32 | ; at runtime. Currently, [PATH=] and [HOST=] sections only work under 33 | ; CGI/FastCGI. 34 | ; http://php.net/ini.sections 35 | 36 | ; Directives are specified using the following syntax: 37 | ; directive = value 38 | ; Directive names are *case sensitive* - foo=bar is different from FOO=bar. 39 | ; Directives are variables used to configure PHP or PHP extensions. 40 | ; There is no name validation. If PHP can't find an expected 41 | ; directive because it is not set or is mistyped, a default value will be used. 42 | 43 | ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one 44 | ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression 45 | ; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a 46 | ; previously set variable or directive (e.g. ${foo}) 47 | 48 | ; Expressions in the INI file are limited to bitwise operators and parentheses: 49 | ; | bitwise OR 50 | ; ^ bitwise XOR 51 | ; & bitwise AND 52 | ; ~ bitwise NOT 53 | ; ! boolean NOT 54 | 55 | ; Boolean flags can be turned on using the values 1, On, True or Yes. 56 | ; They can be turned off using the values 0, Off, False or No. 57 | 58 | ; An empty string can be denoted by simply not writing anything after the equal 59 | ; sign, or by using the None keyword: 60 | 61 | ; foo = ; sets foo to an empty string 62 | ; foo = None ; sets foo to an empty string 63 | ; foo = "None" ; sets foo to the string 'None' 64 | 65 | ; If you use constants in your value, and these constants belong to a 66 | ; dynamically loaded extension (either a PHP extension or a Zend extension), 67 | ; you may only use these constants *after* the line that loads the extension. 68 | 69 | ;;;;;;;;;;;;;;;;;;; 70 | ; About this file ; 71 | ;;;;;;;;;;;;;;;;;;; 72 | ; PHP comes packaged with two INI files. One that is recommended to be used 73 | ; in production environments and one that is recommended to be used in 74 | ; development environments. 75 | 76 | ; php.ini-production contains settings which hold security, performance and 77 | ; best practices at its core. But please be aware, these settings may break 78 | ; compatibility with older or less security conscience applications. We 79 | ; recommending using the production ini in production and testing environments. 80 | 81 | ; php.ini-development is very similar to its production variant, except it's 82 | ; much more verbose when it comes to errors. We recommending using the 83 | ; development version only in development environments as errors shown to 84 | ; application users can inadvertently leak otherwise secure information. 85 | 86 | ; This is php.ini-production INI file. 87 | 88 | ;;;;;;;;;;;;;;;;;;; 89 | ; Quick Reference ; 90 | ;;;;;;;;;;;;;;;;;;; 91 | ; The following are all the settings which are different in either the production 92 | ; or development versions of the INIs with respect to PHP's default behavior. 93 | ; Please see the actual settings later in the document for more details as to why 94 | ; we recommend these changes in PHP's behavior. 95 | 96 | ; display_errors 97 | ; Default Value: On 98 | ; Development Value: On 99 | ; Production Value: Off 100 | 101 | ; display_startup_errors 102 | ; Default Value: Off 103 | ; Development Value: On 104 | ; Production Value: Off 105 | 106 | ; error_reporting 107 | ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 108 | ; Development Value: E_ALL 109 | ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT 110 | 111 | ; html_errors 112 | ; Default Value: On 113 | ; Development Value: On 114 | ; Production value: On 115 | 116 | ; log_errors 117 | ; Default Value: Off 118 | ; Development Value: On 119 | ; Production Value: On 120 | 121 | ; max_input_time 122 | ; Default Value: -1 (Unlimited) 123 | ; Development Value: 60 (60 seconds) 124 | ; Production Value: 60 (60 seconds) 125 | 126 | ; output_buffering 127 | ; Default Value: Off 128 | ; Development Value: 4096 129 | ; Production Value: 4096 130 | 131 | ; register_argc_argv 132 | ; Default Value: On 133 | ; Development Value: Off 134 | ; Production Value: Off 135 | 136 | ; request_order 137 | ; Default Value: None 138 | ; Development Value: "GP" 139 | ; Production Value: "GP" 140 | 141 | ; session.gc_divisor 142 | ; Default Value: 100 143 | ; Development Value: 1000 144 | ; Production Value: 1000 145 | 146 | ; session.hash_bits_per_character 147 | ; Default Value: 4 148 | ; Development Value: 5 149 | ; Production Value: 5 150 | 151 | ; short_open_tag 152 | ; Default Value: On 153 | ; Development Value: Off 154 | ; Production Value: Off 155 | 156 | ; track_errors 157 | ; Default Value: Off 158 | ; Development Value: On 159 | ; Production Value: Off 160 | 161 | ; url_rewriter.tags 162 | ; Default Value: "a=href,area=href,frame=src,form=,fieldset=" 163 | ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" 164 | ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" 165 | 166 | ; variables_order 167 | ; Default Value: "EGPCS" 168 | ; Development Value: "GPCS" 169 | ; Production Value: "GPCS" 170 | 171 | ;;;;;;;;;;;;;;;;;;;; 172 | ; php.ini Options ; 173 | ;;;;;;;;;;;;;;;;;;;; 174 | ; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" 175 | ;user_ini.filename = ".user.ini" 176 | 177 | ; To disable this feature set this option to empty value 178 | ;user_ini.filename = 179 | 180 | ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) 181 | ;user_ini.cache_ttl = 300 182 | 183 | ;;;;;;;;;;;;;;;;;;;; 184 | ; Language Options ; 185 | ;;;;;;;;;;;;;;;;;;;; 186 | 187 | ; Enable the PHP scripting language engine under Apache. 188 | ; http://php.net/engine 189 | engine = On 190 | 191 | ; This directive determines whether or not PHP will recognize code between 192 | ; tags as PHP source which should be processed as such. It is 193 | ; generally recommended that should be used and that this feature 194 | ; should be disabled, as enabling it may result in issues when generating XML 195 | ; documents, however this remains supported for backward compatibility reasons. 196 | ; Note that this directive does not control the tags. 205 | ; http://php.net/asp-tags 206 | asp_tags = Off 207 | 208 | ; The number of significant digits displayed in floating point numbers. 209 | ; http://php.net/precision 210 | precision = 14 211 | 212 | ; Output buffering is a mechanism for controlling how much output data 213 | ; (excluding headers and cookies) PHP should keep internally before pushing that 214 | ; data to the client. If your application's output exceeds this setting, PHP 215 | ; will send that data in chunks of roughly the size you specify. 216 | ; Turning on this setting and managing its maximum buffer size can yield some 217 | ; interesting side-effects depending on your application and web server. 218 | ; You may be able to send headers and cookies after you've already sent output 219 | ; through print or echo. You also may see performance benefits if your server is 220 | ; emitting less packets due to buffered output versus PHP streaming the output 221 | ; as it gets it. On production servers, 4096 bytes is a good setting for performance 222 | ; reasons. 223 | ; Note: Output buffering can also be controlled via Output Buffering Control 224 | ; functions. 225 | ; Possible Values: 226 | ; On = Enabled and buffer is unlimited. (Use with caution) 227 | ; Off = Disabled 228 | ; Integer = Enables the buffer and sets its maximum size in bytes. 229 | ; Note: This directive is hardcoded to Off for the CLI SAPI 230 | ; Default Value: Off 231 | ; Development Value: 4096 232 | ; Production Value: 4096 233 | ; http://php.net/output-buffering 234 | output_buffering = 4096 235 | 236 | ; You can redirect all of the output of your scripts to a function. For 237 | ; example, if you set output_handler to "mb_output_handler", character 238 | ; encoding will be transparently converted to the specified encoding. 239 | ; Setting any output handler automatically turns on output buffering. 240 | ; Note: People who wrote portable scripts should not depend on this ini 241 | ; directive. Instead, explicitly set the output handler using ob_start(). 242 | ; Using this ini directive may cause problems unless you know what script 243 | ; is doing. 244 | ; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" 245 | ; and you cannot use both "ob_gzhandler" and "zlib.output_compression". 246 | ; Note: output_handler must be empty if this is set 'On' !!!! 247 | ; Instead you must use zlib.output_handler. 248 | ; http://php.net/output-handler 249 | ;output_handler = 250 | 251 | ; Transparent output compression using the zlib library 252 | ; Valid values for this option are 'off', 'on', or a specific buffer size 253 | ; to be used for compression (default is 4KB) 254 | ; Note: Resulting chunk size may vary due to nature of compression. PHP 255 | ; outputs chunks that are few hundreds bytes each as a result of 256 | ; compression. If you prefer a larger chunk size for better 257 | ; performance, enable output_buffering in addition. 258 | ; Note: You need to use zlib.output_handler instead of the standard 259 | ; output_handler, or otherwise the output will be corrupted. 260 | ; http://php.net/zlib.output-compression 261 | zlib.output_compression = Off 262 | 263 | ; http://php.net/zlib.output-compression-level 264 | ;zlib.output_compression_level = -1 265 | 266 | ; You cannot specify additional output handlers if zlib.output_compression 267 | ; is activated here. This setting does the same as output_handler but in 268 | ; a different order. 269 | ; http://php.net/zlib.output-handler 270 | ;zlib.output_handler = 271 | 272 | ; Implicit flush tells PHP to tell the output layer to flush itself 273 | ; automatically after every output block. This is equivalent to calling the 274 | ; PHP function flush() after each and every call to print() or echo() and each 275 | ; and every HTML block. Turning this option on has serious performance 276 | ; implications and is generally recommended for debugging purposes only. 277 | ; http://php.net/implicit-flush 278 | ; Note: This directive is hardcoded to On for the CLI SAPI 279 | implicit_flush = Off 280 | 281 | ; The unserialize callback function will be called (with the undefined class' 282 | ; name as parameter), if the unserializer finds an undefined class 283 | ; which should be instantiated. A warning appears if the specified function is 284 | ; not defined, or if the function doesn't include/implement the missing class. 285 | ; So only set this entry, if you really want to implement such a 286 | ; callback-function. 287 | unserialize_callback_func = 288 | 289 | ; When floats & doubles are serialized store serialize_precision significant 290 | ; digits after the floating point. The default value ensures that when floats 291 | ; are decoded with unserialize, the data will remain the same. 292 | serialize_precision = 17 293 | 294 | ; open_basedir, if set, limits all file operations to the defined directory 295 | ; and below. This directive makes most sense if used in a per-directory 296 | ; or per-virtualhost web server configuration file. 297 | ; http://php.net/open-basedir 298 | ;open_basedir = 299 | 300 | ; This directive allows you to disable certain functions for security reasons. 301 | ; It receives a comma-delimited list of function names. 302 | ; http://php.net/disable-functions 303 | disable_functions = 304 | 305 | ; This directive allows you to disable certain classes for security reasons. 306 | ; It receives a comma-delimited list of class names. 307 | ; http://php.net/disable-classes 308 | disable_classes = 309 | 310 | ; Colors for Syntax Highlighting mode. Anything that's acceptable in 311 | ; would work. 312 | ; http://php.net/syntax-highlighting 313 | ;highlight.string = #DD0000 314 | ;highlight.comment = #FF9900 315 | ;highlight.keyword = #007700 316 | ;highlight.default = #0000BB 317 | ;highlight.html = #000000 318 | 319 | ; If enabled, the request will be allowed to complete even if the user aborts 320 | ; the request. Consider enabling it if executing long requests, which may end up 321 | ; being interrupted by the user or a browser timing out. PHP's default behavior 322 | ; is to disable this feature. 323 | ; http://php.net/ignore-user-abort 324 | ;ignore_user_abort = On 325 | 326 | ; Determines the size of the realpath cache to be used by PHP. This value should 327 | ; be increased on systems where PHP opens many files to reflect the quantity of 328 | ; the file operations performed. 329 | ; http://php.net/realpath-cache-size 330 | ;realpath_cache_size = 16k 331 | 332 | ; Duration of time, in seconds for which to cache realpath information for a given 333 | ; file or directory. For systems with rarely changing files, consider increasing this 334 | ; value. 335 | ; http://php.net/realpath-cache-ttl 336 | ;realpath_cache_ttl = 120 337 | 338 | ; Enables or disables the circular reference collector. 339 | ; http://php.net/zend.enable-gc 340 | zend.enable_gc = On 341 | 342 | ; If enabled, scripts may be written in encodings that are incompatible with 343 | ; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such 344 | ; encodings. To use this feature, mbstring extension must be enabled. 345 | ; Default: Off 346 | ;zend.multibyte = Off 347 | 348 | ; Allows to set the default encoding for the scripts. This value will be used 349 | ; unless "declare(encoding=...)" directive appears at the top of the script. 350 | ; Only affects if zend.multibyte is set. 351 | ; Default: "" 352 | ;zend.script_encoding = 353 | 354 | ;;;;;;;;;;;;;;;;; 355 | ; Miscellaneous ; 356 | ;;;;;;;;;;;;;;;;; 357 | 358 | ; Decides whether PHP may expose the fact that it is installed on the server 359 | ; (e.g. by adding its signature to the Web server header). It is no security 360 | ; threat in any way, but it makes it possible to determine whether you use PHP 361 | ; on your server or not. 362 | ; http://php.net/expose-php 363 | expose_php = On 364 | 365 | ;;;;;;;;;;;;;;;;;;; 366 | ; Resource Limits ; 367 | ;;;;;;;;;;;;;;;;;;; 368 | 369 | ; Maximum execution time of each script, in seconds 370 | ; http://php.net/max-execution-time 371 | ; Note: This directive is hardcoded to 0 for the CLI SAPI 372 | max_execution_time = 30 373 | 374 | ; Maximum amount of time each script may spend parsing request data. It's a good 375 | ; idea to limit this time on productions servers in order to eliminate unexpectedly 376 | ; long running scripts. 377 | ; Note: This directive is hardcoded to -1 for the CLI SAPI 378 | ; Default Value: -1 (Unlimited) 379 | ; Development Value: 60 (60 seconds) 380 | ; Production Value: 60 (60 seconds) 381 | ; http://php.net/max-input-time 382 | max_input_time = 60 383 | 384 | ; Maximum input variable nesting level 385 | ; http://php.net/max-input-nesting-level 386 | ;max_input_nesting_level = 64 387 | 388 | ; How many GET/POST/COOKIE input variables may be accepted 389 | ; max_input_vars = 1000 390 | 391 | ; Maximum amount of memory a script may consume (128MB) 392 | ; http://php.net/memory-limit 393 | memory_limit = 128M 394 | 395 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 396 | ; Error handling and logging ; 397 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 398 | 399 | ; This directive informs PHP of which errors, warnings and notices you would like 400 | ; it to take action for. The recommended way of setting values for this 401 | ; directive is through the use of the error level constants and bitwise 402 | ; operators. The error level constants are below here for convenience as well as 403 | ; some common settings and their meanings. 404 | ; By default, PHP is set to take action on all errors, notices and warnings EXCEPT 405 | ; those related to E_NOTICE and E_STRICT, which together cover best practices and 406 | ; recommended coding standards in PHP. For performance reasons, this is the 407 | ; recommend error reporting setting. Your production server shouldn't be wasting 408 | ; resources complaining about best practices and coding standards. That's what 409 | ; development servers and development settings are for. 410 | ; Note: The php.ini-development file has this setting as E_ALL. This 411 | ; means it pretty much reports everything which is exactly what you want during 412 | ; development and early testing. 413 | ; 414 | ; Error Level Constants: 415 | ; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) 416 | ; E_ERROR - fatal run-time errors 417 | ; E_RECOVERABLE_ERROR - almost fatal run-time errors 418 | ; E_WARNING - run-time warnings (non-fatal errors) 419 | ; E_PARSE - compile-time parse errors 420 | ; E_NOTICE - run-time notices (these are warnings which often result 421 | ; from a bug in your code, but it's possible that it was 422 | ; intentional (e.g., using an uninitialized variable and 423 | ; relying on the fact it's automatically initialized to an 424 | ; empty string) 425 | ; E_STRICT - run-time notices, enable to have PHP suggest changes 426 | ; to your code which will ensure the best interoperability 427 | ; and forward compatibility of your code 428 | ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup 429 | ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's 430 | ; initial startup 431 | ; E_COMPILE_ERROR - fatal compile-time errors 432 | ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) 433 | ; E_USER_ERROR - user-generated error message 434 | ; E_USER_WARNING - user-generated warning message 435 | ; E_USER_NOTICE - user-generated notice message 436 | ; E_DEPRECATED - warn about code that will not work in future versions 437 | ; of PHP 438 | ; E_USER_DEPRECATED - user-generated deprecation warnings 439 | ; 440 | ; Common Values: 441 | ; E_ALL (Show all errors, warnings and notices including coding standards.) 442 | ; E_ALL & ~E_NOTICE (Show all errors, except for notices) 443 | ; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) 444 | ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) 445 | ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 446 | ; Development Value: E_ALL 447 | ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT 448 | ; http://php.net/error-reporting 449 | error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT 450 | 451 | ; This directive controls whether or not and where PHP will output errors, 452 | ; notices and warnings too. Error output is very useful during development, but 453 | ; it could be very dangerous in production environments. Depending on the code 454 | ; which is triggering the error, sensitive information could potentially leak 455 | ; out of your application such as database usernames and passwords or worse. 456 | ; It's recommended that errors be logged on production servers rather than 457 | ; having the errors sent to STDOUT. 458 | ; Possible Values: 459 | ; Off = Do not display any errors 460 | ; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) 461 | ; On or stdout = Display errors to STDOUT 462 | ; Default Value: On 463 | ; Development Value: On 464 | ; Production Value: Off 465 | ; http://php.net/display-errors 466 | display_errors = Off 467 | 468 | ; The display of errors which occur during PHP's startup sequence are handled 469 | ; separately from display_errors. PHP's default behavior is to suppress those 470 | ; errors from clients. Turning the display of startup errors on can be useful in 471 | ; debugging configuration problems. But, it's strongly recommended that you 472 | ; leave this setting off on production servers. 473 | ; Default Value: Off 474 | ; Development Value: On 475 | ; Production Value: Off 476 | ; http://php.net/display-startup-errors 477 | display_startup_errors = Off 478 | 479 | ; Besides displaying errors, PHP can also log errors to locations such as a 480 | ; server-specific log, STDERR, or a location specified by the error_log 481 | ; directive found below. While errors should not be displayed on productions 482 | ; servers they should still be monitored and logging is a great way to do that. 483 | ; Default Value: Off 484 | ; Development Value: On 485 | ; Production Value: On 486 | ; http://php.net/log-errors 487 | log_errors = On 488 | 489 | ; Set maximum length of log_errors. In error_log information about the source is 490 | ; added. The default is 1024 and 0 allows to not apply any maximum length at all. 491 | ; http://php.net/log-errors-max-len 492 | log_errors_max_len = 1024 493 | 494 | ; Do not log repeated messages. Repeated errors must occur in same file on same 495 | ; line unless ignore_repeated_source is set true. 496 | ; http://php.net/ignore-repeated-errors 497 | ignore_repeated_errors = Off 498 | 499 | ; Ignore source of message when ignoring repeated messages. When this setting 500 | ; is On you will not log errors with repeated messages from different files or 501 | ; source lines. 502 | ; http://php.net/ignore-repeated-source 503 | ignore_repeated_source = Off 504 | 505 | ; If this parameter is set to Off, then memory leaks will not be shown (on 506 | ; stdout or in the log). This has only effect in a debug compile, and if 507 | ; error reporting includes E_WARNING in the allowed list 508 | ; http://php.net/report-memleaks 509 | report_memleaks = On 510 | 511 | ; This setting is on by default. 512 | ;report_zend_debug = 0 513 | 514 | ; Store the last error/warning message in $php_errormsg (boolean). Setting this value 515 | ; to On can assist in debugging and is appropriate for development servers. It should 516 | ; however be disabled on production servers. 517 | ; Default Value: Off 518 | ; Development Value: On 519 | ; Production Value: Off 520 | ; http://php.net/track-errors 521 | track_errors = Off 522 | 523 | ; Turn off normal error reporting and emit XML-RPC error XML 524 | ; http://php.net/xmlrpc-errors 525 | ;xmlrpc_errors = 0 526 | 527 | ; An XML-RPC faultCode 528 | ;xmlrpc_error_number = 0 529 | 530 | ; When PHP displays or logs an error, it has the capability of formatting the 531 | ; error message as HTML for easier reading. This directive controls whether 532 | ; the error message is formatted as HTML or not. 533 | ; Note: This directive is hardcoded to Off for the CLI SAPI 534 | ; Default Value: On 535 | ; Development Value: On 536 | ; Production value: On 537 | ; http://php.net/html-errors 538 | html_errors = On 539 | 540 | ; If html_errors is set to On *and* docref_root is not empty, then PHP 541 | ; produces clickable error messages that direct to a page describing the error 542 | ; or function causing the error in detail. 543 | ; You can download a copy of the PHP manual from http://php.net/docs 544 | ; and change docref_root to the base URL of your local copy including the 545 | ; leading '/'. You must also specify the file extension being used including 546 | ; the dot. PHP's default behavior is to leave these settings empty, in which 547 | ; case no links to documentation are generated. 548 | ; Note: Never use this feature for production boxes. 549 | ; http://php.net/docref-root 550 | ; Examples 551 | ;docref_root = "/phpmanual/" 552 | 553 | ; http://php.net/docref-ext 554 | ;docref_ext = .html 555 | 556 | ; String to output before an error message. PHP's default behavior is to leave 557 | ; this setting blank. 558 | ; http://php.net/error-prepend-string 559 | ; Example: 560 | ;error_prepend_string = "" 561 | 562 | ; String to output after an error message. PHP's default behavior is to leave 563 | ; this setting blank. 564 | ; http://php.net/error-append-string 565 | ; Example: 566 | ;error_append_string = "" 567 | 568 | ; Log errors to specified file. PHP's default behavior is to leave this value 569 | ; empty. 570 | ; http://php.net/error-log 571 | ; Example: 572 | ;error_log = php_errors.log 573 | ; Log errors to syslog (Event Log on Windows). 574 | error_log = <%= ENV['OPENSHIFT_LOG_DIR'] %>/php-error.log 575 | 576 | ;windows.show_crt_warning 577 | ; Default value: 0 578 | ; Development value: 0 579 | ; Production value: 0 580 | 581 | ;;;;;;;;;;;;;;;;; 582 | ; Data Handling ; 583 | ;;;;;;;;;;;;;;;;; 584 | 585 | ; The separator used in PHP generated URLs to separate arguments. 586 | ; PHP's default setting is "&". 587 | ; http://php.net/arg-separator.output 588 | ; Example: 589 | ;arg_separator.output = "&" 590 | 591 | ; List of separator(s) used by PHP to parse input URLs into variables. 592 | ; PHP's default setting is "&". 593 | ; NOTE: Every character in this directive is considered as separator! 594 | ; http://php.net/arg-separator.input 595 | ; Example: 596 | ;arg_separator.input = ";&" 597 | 598 | ; This directive determines which super global arrays are registered when PHP 599 | ; starts up. G,P,C,E & S are abbreviations for the following respective super 600 | ; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty 601 | ; paid for the registration of these arrays and because ENV is not as commonly 602 | ; used as the others, ENV is not recommended on productions servers. You 603 | ; can still get access to the environment variables through getenv() should you 604 | ; need to. 605 | ; Default Value: "EGPCS" 606 | ; Development Value: "GPCS" 607 | ; Production Value: "GPCS"; 608 | ; http://php.net/variables-order 609 | variables_order = "GPCS" 610 | 611 | ; This directive determines which super global data (G,P,C,E & S) should 612 | ; be registered into the super global array REQUEST. If so, it also determines 613 | ; the order in which that data is registered. The values for this directive are 614 | ; specified in the same manner as the variables_order directive, EXCEPT one. 615 | ; Leaving this value empty will cause PHP to use the value set in the 616 | ; variables_order directive. It does not mean it will leave the super globals 617 | ; array REQUEST empty. 618 | ; Default Value: None 619 | ; Development Value: "GP" 620 | ; Production Value: "GP" 621 | ; http://php.net/request-order 622 | request_order = "GP" 623 | 624 | ; This directive determines whether PHP registers $argv & $argc each time it 625 | ; runs. $argv contains an array of all the arguments passed to PHP when a script 626 | ; is invoked. $argc contains an integer representing the number of arguments 627 | ; that were passed when the script was invoked. These arrays are extremely 628 | ; useful when running scripts from the command line. When this directive is 629 | ; enabled, registering these variables consumes CPU cycles and memory each time 630 | ; a script is executed. For performance reasons, this feature should be disabled 631 | ; on production servers. 632 | ; Note: This directive is hardcoded to On for the CLI SAPI 633 | ; Default Value: On 634 | ; Development Value: Off 635 | ; Production Value: Off 636 | ; http://php.net/register-argc-argv 637 | register_argc_argv = Off 638 | 639 | ; When enabled, the ENV, REQUEST and SERVER variables are created when they're 640 | ; first used (Just In Time) instead of when the script starts. If these 641 | ; variables are not used within a script, having this directive on will result 642 | ; in a performance gain. The PHP directive register_argc_argv must be disabled 643 | ; for this directive to have any affect. 644 | ; http://php.net/auto-globals-jit 645 | auto_globals_jit = On 646 | 647 | ; Whether PHP will read the POST data. 648 | ; This option is enabled by default. 649 | ; Most likely, you won't want to disable this option globally. It causes $_POST 650 | ; and $_FILES to always be empty; the only way you will be able to read the 651 | ; POST data will be through the php://input stream wrapper. This can be useful 652 | ; to proxy requests or to process the POST data in a memory efficient fashion. 653 | ; http://php.net/enable-post-data-reading 654 | ;enable_post_data_reading = Off 655 | 656 | ; Maximum size of POST data that PHP will accept. 657 | ; Its value may be 0 to disable the limit. It is ignored if POST data reading 658 | ; is disabled through enable_post_data_reading. 659 | ; http://php.net/post-max-size 660 | post_max_size = 8M 661 | 662 | ; Automatically add files before PHP document. 663 | ; http://php.net/auto-prepend-file 664 | auto_prepend_file = 665 | 666 | ; Automatically add files after PHP document. 667 | ; http://php.net/auto-append-file 668 | auto_append_file = 669 | 670 | ; By default, PHP will output a character encoding using 671 | ; the Content-type: header. To disable sending of the charset, simply 672 | ; set it to be empty. 673 | ; 674 | ; PHP's built-in default is text/html 675 | ; http://php.net/default-mimetype 676 | default_mimetype = "text/html" 677 | 678 | ; PHP's default character set is set to empty. 679 | ; http://php.net/default-charset 680 | default_charset = "UTF-8" 681 | 682 | ; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is 683 | ; to disable this feature. If post reading is disabled through 684 | ; enable_post_data_reading, $HTTP_RAW_POST_DATA is *NOT* populated. 685 | ; http://php.net/always-populate-raw-post-data 686 | ;always_populate_raw_post_data = On 687 | 688 | ;;;;;;;;;;;;;;;;;;;;;;;;; 689 | ; Paths and Directories ; 690 | ;;;;;;;;;;;;;;;;;;;;;;;;; 691 | 692 | ; UNIX: "/path1:/path2" 693 | ;include_path = ".:/php/includes" 694 | ; 695 | ; Windows: "\path1;\path2" 696 | ;include_path = ".;c:\php\includes" 697 | ; 698 | ; PHP's default setting for include_path is ".;/path/to/php/pear" 699 | ; http://php.net/include-path 700 | include_path = "." 701 | 702 | ; The root of the PHP pages, used only if nonempty. 703 | ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root 704 | ; if you are running php as a CGI under any web server (other than IIS) 705 | ; see documentation for security issues. The alternate is to use the 706 | ; cgi.force_redirect configuration below 707 | ; http://php.net/doc-root 708 | doc_root = 709 | 710 | ; The directory under which PHP opens the script using /~username used only 711 | ; if nonempty. 712 | ; http://php.net/user-dir 713 | user_dir = 714 | 715 | ; Directory in which the loadable extensions (modules) reside. 716 | ; http://php.net/extension-dir 717 | ; extension_dir = "./" 718 | ; On windows: 719 | extension_dir = "<%= ENV['OPENSHIFT_PHP_EXTENSION_DIR'] %>" 720 | 721 | ; Directory where the temporary files should be placed. 722 | ; Defaults to the system default (see sys_get_temp_dir) 723 | ; sys_temp_dir = "/tmp" 724 | 725 | ; Whether or not to enable the dl() function. The dl() function does NOT work 726 | ; properly in multithreaded servers, such as IIS or Zeus, and is automatically 727 | ; disabled on them. 728 | ; http://php.net/enable-dl 729 | enable_dl = Off 730 | 731 | ; cgi.force_redirect is necessary to provide security running PHP as a CGI under 732 | ; most web servers. Left undefined, PHP turns this on by default. You can 733 | ; turn it off here AT YOUR OWN RISK 734 | ; **You CAN safely turn this off for IIS, in fact, you MUST.** 735 | ; http://php.net/cgi.force-redirect 736 | ;cgi.force_redirect = 1 737 | 738 | ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with 739 | ; every request. PHP's default behavior is to disable this feature. 740 | ;cgi.nph = 1 741 | 742 | ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape 743 | ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP 744 | ; will look for to know it is OK to continue execution. Setting this variable MAY 745 | ; cause security issues, KNOW WHAT YOU ARE DOING FIRST. 746 | ; http://php.net/cgi.redirect-status-env 747 | ;cgi.redirect_status_env = 748 | 749 | ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's 750 | ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok 751 | ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting 752 | ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting 753 | ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts 754 | ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. 755 | ; http://php.net/cgi.fix-pathinfo 756 | ;cgi.fix_pathinfo=1 757 | 758 | ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate 759 | ; security tokens of the calling client. This allows IIS to define the 760 | ; security context that the request runs under. mod_fastcgi under Apache 761 | ; does not currently support this feature (03/17/2002) 762 | ; Set to 1 if running under IIS. Default is zero. 763 | ; http://php.net/fastcgi.impersonate 764 | ;fastcgi.impersonate = 1 765 | 766 | ; Disable logging through FastCGI connection. PHP's default behavior is to enable 767 | ; this feature. 768 | ;fastcgi.logging = 0 769 | 770 | ; cgi.rfc2616_headers configuration option tells PHP what type of headers to 771 | ; use when sending HTTP response code. If it's set 0 PHP sends Status: header that 772 | ; is supported by Apache. When this option is set to 1 PHP will send 773 | ; RFC2616 compliant header. 774 | ; Default is zero. 775 | ; http://php.net/cgi.rfc2616-headers 776 | ;cgi.rfc2616_headers = 0 777 | 778 | ;;;;;;;;;;;;;;;; 779 | ; File Uploads ; 780 | ;;;;;;;;;;;;;;;; 781 | 782 | ; Whether to allow HTTP file uploads. 783 | ; http://php.net/file-uploads 784 | file_uploads = On 785 | 786 | ; Temporary directory for HTTP uploaded files (will use system default if not 787 | ; specified). 788 | ; http://php.net/upload-tmp-dir 789 | ;upload_tmp_dir = 790 | 791 | ; Maximum allowed size for uploaded files. 792 | ; http://php.net/upload-max-filesize 793 | upload_max_filesize = 2M 794 | 795 | ; Maximum number of files that can be uploaded via a single request 796 | max_file_uploads = 20 797 | 798 | ;;;;;;;;;;;;;;;;;; 799 | ; Fopen wrappers ; 800 | ;;;;;;;;;;;;;;;;;; 801 | 802 | ; Whether to allow the treatment of URLs (like http:// or ftp://) as files. 803 | ; http://php.net/allow-url-fopen 804 | allow_url_fopen = On 805 | 806 | ; Whether to allow include/require to open URLs (like http:// or ftp://) as files. 807 | ; http://php.net/allow-url-include 808 | allow_url_include = Off 809 | 810 | ; Define the anonymous ftp password (your email address). PHP's default setting 811 | ; for this is empty. 812 | ; http://php.net/from 813 | ;from="john@doe.com" 814 | 815 | ; Define the User-Agent string. PHP's default setting for this is empty. 816 | ; http://php.net/user-agent 817 | ;user_agent="PHP" 818 | 819 | ; Default timeout for socket based streams (seconds) 820 | ; http://php.net/default-socket-timeout 821 | default_socket_timeout = 60 822 | 823 | ; If your scripts have to deal with files from Macintosh systems, 824 | ; or you are running on a Mac and need to deal with files from 825 | ; unix or win32 systems, setting this flag will cause PHP to 826 | ; automatically detect the EOL character in those files so that 827 | ; fgets() and file() will work regardless of the source of the file. 828 | ; http://php.net/auto-detect-line-endings 829 | ;auto_detect_line_endings = Off 830 | 831 | ;;;;;;;;;;;;;;;;;;;;;; 832 | ; Dynamic Extensions ; 833 | ;;;;;;;;;;;;;;;;;;;;;; 834 | 835 | ; If you wish to have an extension loaded automatically, use the following 836 | ; syntax: 837 | ; 838 | ; extension=modulename.extension 839 | ; 840 | ; For example, on Windows: 841 | ; 842 | ; extension=msql.dll 843 | ; 844 | ; ... or under UNIX: 845 | ; 846 | ; extension=msql.so 847 | ; 848 | ; ... or with a path: 849 | ; 850 | ; extension=/path/to/extension/msql.so 851 | ; 852 | ; If you only provide the name of the extension, PHP will look for it in its 853 | ; default extension directory. 854 | ; 855 | ; Windows Extensions 856 | ; Note that ODBC support is built in, so no dll is needed for it. 857 | ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) 858 | ; extension folders as well as the separate PECL DLL download (PHP 5). 859 | ; Be sure to appropriately set the extension_dir directive. 860 | ; 861 | ;extension=php_bz2.dll 862 | ;extension=php_curl.dll 863 | ;extension=php_fileinfo.dll 864 | ;extension=php_gd2.dll 865 | ;extension=php_gettext.dll 866 | ;extension=php_gmp.dll 867 | ;extension=php_intl.dll 868 | ;extension=php_imap.dll 869 | ;extension=php_interbase.dll 870 | ;extension=php_ldap.dll 871 | ;extension=php_mbstring.dll 872 | ;extension=php_exif.dll ; Must be after mbstring as it depends on it 873 | ;extension=php_mysql.dll 874 | ;extension=php_mysqli.dll 875 | ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client 876 | ;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client 877 | ;extension=php_openssl.dll 878 | ;extension=php_pdo_firebird.dll 879 | ;extension=php_pdo_mysql.dll 880 | ;extension=php_pdo_oci.dll 881 | ;extension=php_pdo_odbc.dll 882 | ;extension=php_pdo_pgsql.dll 883 | ;extension=php_pdo_sqlite.dll 884 | ;extension=php_pgsql.dll 885 | ;extension=php_pspell.dll 886 | ;extension=php_shmop.dll 887 | 888 | ; The MIBS data available in the PHP distribution must be installed. 889 | ; See http://www.php.net/manual/en/snmp.installation.php 890 | ;extension=php_snmp.dll 891 | 892 | ;extension=php_soap.dll 893 | ;extension=php_sockets.dll 894 | ;extension=php_sqlite3.dll 895 | ;extension=php_sybase_ct.dll 896 | ;extension=php_tidy.dll 897 | ;extension=php_xmlrpc.dll 898 | ;extension=php_xsl.dll 899 | 900 | ;;;;;;;;;;;;;;;;;;; 901 | ; Module Settings ; 902 | ;;;;;;;;;;;;;;;;;;; 903 | 904 | [CLI Server] 905 | ; Whether the CLI web server uses ANSI color coding in its terminal output. 906 | cli_server.color = On 907 | 908 | [Date] 909 | ; Defines the default timezone used by the date functions 910 | ; http://php.net/date.timezone 911 | ;date.timezone = 912 | 913 | ; http://php.net/date.default-latitude 914 | ;date.default_latitude = 31.7667 915 | 916 | ; http://php.net/date.default-longitude 917 | ;date.default_longitude = 35.2333 918 | 919 | ; http://php.net/date.sunrise-zenith 920 | ;date.sunrise_zenith = 90.583333 921 | 922 | ; http://php.net/date.sunset-zenith 923 | ;date.sunset_zenith = 90.583333 924 | 925 | [filter] 926 | ; http://php.net/filter.default 927 | ;filter.default = unsafe_raw 928 | 929 | ; http://php.net/filter.default-flags 930 | ;filter.default_flags = 931 | 932 | [iconv] 933 | ;iconv.input_encoding = ISO-8859-1 934 | ;iconv.internal_encoding = ISO-8859-1 935 | ;iconv.output_encoding = ISO-8859-1 936 | 937 | [intl] 938 | ;intl.default_locale = 939 | ; This directive allows you to produce PHP errors when some error 940 | ; happens within intl functions. The value is the level of the error produced. 941 | ; Default is 0, which does not produce any errors. 942 | ;intl.error_level = E_WARNING 943 | 944 | [sqlite] 945 | ; http://php.net/sqlite.assoc-case 946 | ;sqlite.assoc_case = 0 947 | 948 | [sqlite3] 949 | ;sqlite3.extension_dir = 950 | 951 | [Pcre] 952 | ;PCRE library backtracking limit. 953 | ; http://php.net/pcre.backtrack-limit 954 | ;pcre.backtrack_limit=100000 955 | 956 | ;PCRE library recursion limit. 957 | ;Please note that if you set this value to a high number you may consume all 958 | ;the available process stack and eventually crash PHP (due to reaching the 959 | ;stack size limit imposed by the Operating System). 960 | ; http://php.net/pcre.recursion-limit 961 | ;pcre.recursion_limit=100000 962 | 963 | [Pdo] 964 | ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" 965 | ; http://php.net/pdo-odbc.connection-pooling 966 | ;pdo_odbc.connection_pooling=strict 967 | 968 | ;pdo_odbc.db2_instance_name 969 | 970 | [Pdo_mysql] 971 | ; If mysqlnd is used: Number of cache slots for the internal result set cache 972 | ; http://php.net/pdo_mysql.cache_size 973 | pdo_mysql.cache_size = 2000 974 | 975 | ; Default socket name for local MySQL connects. If empty, uses the built-in 976 | ; MySQL defaults. 977 | ; http://php.net/pdo_mysql.default-socket 978 | pdo_mysql.default_socket= 979 | 980 | [Phar] 981 | ; http://php.net/phar.readonly 982 | ;phar.readonly = On 983 | 984 | ; http://php.net/phar.require-hash 985 | ;phar.require_hash = On 986 | 987 | ;phar.cache_list = 988 | 989 | [mail function] 990 | ; For Win32 only. 991 | ; http://php.net/smtp 992 | SMTP = localhost 993 | ; http://php.net/smtp-port 994 | smtp_port = 25 995 | 996 | ; For Win32 only. 997 | ; http://php.net/sendmail-from 998 | ;sendmail_from = me@example.com 999 | 1000 | ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 1001 | ; http://php.net/sendmail-path 1002 | ;sendmail_path = 1003 | 1004 | ; Force the addition of the specified parameters to be passed as extra parameters 1005 | ; to the sendmail binary. These parameters will always replace the value of 1006 | ; the 5th parameter to mail(). 1007 | ;mail.force_extra_parameters = 1008 | 1009 | ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename 1010 | mail.add_x_header = On 1011 | 1012 | ; The path to a log file that will log all mail() calls. Log entries include 1013 | ; the full path of the script, line number, To address and headers. 1014 | ;mail.log = 1015 | ; Log mail to syslog (Event Log on Windows). 1016 | ;mail.log = syslog 1017 | 1018 | [SQL] 1019 | ; http://php.net/sql.safe-mode 1020 | sql.safe_mode = Off 1021 | 1022 | [ODBC] 1023 | ; http://php.net/odbc.default-db 1024 | ;odbc.default_db = Not yet implemented 1025 | 1026 | ; http://php.net/odbc.default-user 1027 | ;odbc.default_user = Not yet implemented 1028 | 1029 | ; http://php.net/odbc.default-pw 1030 | ;odbc.default_pw = Not yet implemented 1031 | 1032 | ; Controls the ODBC cursor model. 1033 | ; Default: SQL_CURSOR_STATIC (default). 1034 | ;odbc.default_cursortype 1035 | 1036 | ; Allow or prevent persistent links. 1037 | ; http://php.net/odbc.allow-persistent 1038 | odbc.allow_persistent = On 1039 | 1040 | ; Check that a connection is still valid before reuse. 1041 | ; http://php.net/odbc.check-persistent 1042 | odbc.check_persistent = On 1043 | 1044 | ; Maximum number of persistent links. -1 means no limit. 1045 | ; http://php.net/odbc.max-persistent 1046 | odbc.max_persistent = -1 1047 | 1048 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1049 | ; http://php.net/odbc.max-links 1050 | odbc.max_links = -1 1051 | 1052 | ; Handling of LONG fields. Returns number of bytes to variables. 0 means 1053 | ; passthru. 1054 | ; http://php.net/odbc.defaultlrl 1055 | odbc.defaultlrl = 4096 1056 | 1057 | ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. 1058 | ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation 1059 | ; of odbc.defaultlrl and odbc.defaultbinmode 1060 | ; http://php.net/odbc.defaultbinmode 1061 | odbc.defaultbinmode = 1 1062 | 1063 | ;birdstep.max_links = -1 1064 | 1065 | [Interbase] 1066 | ; Allow or prevent persistent links. 1067 | ibase.allow_persistent = 1 1068 | 1069 | ; Maximum number of persistent links. -1 means no limit. 1070 | ibase.max_persistent = -1 1071 | 1072 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1073 | ibase.max_links = -1 1074 | 1075 | ; Default database name for ibase_connect(). 1076 | ;ibase.default_db = 1077 | 1078 | ; Default username for ibase_connect(). 1079 | ;ibase.default_user = 1080 | 1081 | ; Default password for ibase_connect(). 1082 | ;ibase.default_password = 1083 | 1084 | ; Default charset for ibase_connect(). 1085 | ;ibase.default_charset = 1086 | 1087 | ; Default timestamp format. 1088 | ibase.timestampformat = "%Y-%m-%d %H:%M:%S" 1089 | 1090 | ; Default date format. 1091 | ibase.dateformat = "%Y-%m-%d" 1092 | 1093 | ; Default time format. 1094 | ibase.timeformat = "%H:%M:%S" 1095 | 1096 | [MySQL] 1097 | ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements 1098 | ; http://php.net/mysql.allow_local_infile 1099 | mysql.allow_local_infile = On 1100 | 1101 | ; Allow or prevent persistent links. 1102 | ; http://php.net/mysql.allow-persistent 1103 | mysql.allow_persistent = On 1104 | 1105 | ; If mysqlnd is used: Number of cache slots for the internal result set cache 1106 | ; http://php.net/mysql.cache_size 1107 | mysql.cache_size = 2000 1108 | 1109 | ; Maximum number of persistent links. -1 means no limit. 1110 | ; http://php.net/mysql.max-persistent 1111 | mysql.max_persistent = -1 1112 | 1113 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1114 | ; http://php.net/mysql.max-links 1115 | mysql.max_links = -1 1116 | 1117 | ; Default port number for mysql_connect(). If unset, mysql_connect() will use 1118 | ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the 1119 | ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look 1120 | ; at MYSQL_PORT. 1121 | ; http://php.net/mysql.default-port 1122 | mysql.default_port = <%= defined?(ENV['OPENSHIFT_MYSQL_DB_PORT']) ? ENV['OPENSHIFT_MYSQL_DB_PORT'] : '' %> 1123 | 1124 | ; Default socket name for local MySQL connects. If empty, uses the built-in 1125 | ; MySQL defaults. 1126 | ; http://php.net/mysql.default-socket 1127 | mysql.default_socket = <%= defined?(ENV['OPENSHIFT_MYSQL_DB_SOCKET']) ? ENV['OPENSHIFT_MYSQL_DB_SOCKET'] : '' %> 1128 | 1129 | ; Default host for mysql_connect() (doesn't apply in safe mode). 1130 | ; http://php.net/mysql.default-host 1131 | mysql.default_host = <%= defined?(ENV['OPENSHIFT_MYSQL_DB_HOST']) ? ENV['OPENSHIFT_MYSQL_DB_HOST'] : '' %> 1132 | 1133 | ; Default user for mysql_connect() (doesn't apply in safe mode). 1134 | ; http://php.net/mysql.default-user 1135 | mysql.default_user = <%= defined?(ENV['OPENSHIFT_MYSQL_DB_USERNAME']) ? ENV['OPENSHIFT_MYSQL_DB_USERNAME'] : '' %> 1136 | 1137 | ; Default password for mysql_connect() (doesn't apply in safe mode). 1138 | ; Note that this is generally a *bad* idea to store passwords in this file. 1139 | ; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") 1140 | ; and reveal this password! And of course, any users with read access to this 1141 | ; file will be able to reveal the password as well. 1142 | ; http://php.net/mysql.default-password 1143 | mysql.default_password = <%= defined?(ENV['OPENSHIFT_MYSQL_DB_PASSWORD']) ? ENV['OPENSHIFT_MYSQL_DB_PASSWORD'] : '' %> 1144 | 1145 | ; Maximum time (in seconds) for connect timeout. -1 means no limit 1146 | ; http://php.net/mysql.connect-timeout 1147 | mysql.connect_timeout = 60 1148 | 1149 | ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and 1150 | ; SQL-Errors will be displayed. 1151 | ; http://php.net/mysql.trace-mode 1152 | mysql.trace_mode = Off 1153 | 1154 | [MySQLi] 1155 | 1156 | ; Maximum number of persistent links. -1 means no limit. 1157 | ; http://php.net/mysqli.max-persistent 1158 | mysqli.max_persistent = -1 1159 | 1160 | ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements 1161 | ; http://php.net/mysqli.allow_local_infile 1162 | ;mysqli.allow_local_infile = On 1163 | 1164 | ; Allow or prevent persistent links. 1165 | ; http://php.net/mysqli.allow-persistent 1166 | mysqli.allow_persistent = On 1167 | 1168 | ; Maximum number of links. -1 means no limit. 1169 | ; http://php.net/mysqli.max-links 1170 | mysqli.max_links = -1 1171 | 1172 | ; If mysqlnd is used: Number of cache slots for the internal result set cache 1173 | ; http://php.net/mysqli.cache_size 1174 | mysqli.cache_size = 2000 1175 | 1176 | ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use 1177 | ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the 1178 | ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look 1179 | ; at MYSQL_PORT. 1180 | ; http://php.net/mysqli.default-port 1181 | mysqli.default_port = 3306 1182 | 1183 | ; Default socket name for local MySQL connects. If empty, uses the built-in 1184 | ; MySQL defaults. 1185 | ; http://php.net/mysqli.default-socket 1186 | mysqli.default_socket = 1187 | 1188 | ; Default host for mysql_connect() (doesn't apply in safe mode). 1189 | ; http://php.net/mysqli.default-host 1190 | mysqli.default_host = 1191 | 1192 | ; Default user for mysql_connect() (doesn't apply in safe mode). 1193 | ; http://php.net/mysqli.default-user 1194 | mysqli.default_user = 1195 | 1196 | ; Default password for mysqli_connect() (doesn't apply in safe mode). 1197 | ; Note that this is generally a *bad* idea to store passwords in this file. 1198 | ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") 1199 | ; and reveal this password! And of course, any users with read access to this 1200 | ; file will be able to reveal the password as well. 1201 | ; http://php.net/mysqli.default-pw 1202 | mysqli.default_pw = 1203 | 1204 | ; Allow or prevent reconnect 1205 | mysqli.reconnect = Off 1206 | 1207 | [mysqlnd] 1208 | ; Enable / Disable collection of general statistics by mysqlnd which can be 1209 | ; used to tune and monitor MySQL operations. 1210 | ; http://php.net/mysqlnd.collect_statistics 1211 | mysqlnd.collect_statistics = On 1212 | 1213 | ; Enable / Disable collection of memory usage statistics by mysqlnd which can be 1214 | ; used to tune and monitor MySQL operations. 1215 | ; http://php.net/mysqlnd.collect_memory_statistics 1216 | mysqlnd.collect_memory_statistics = Off 1217 | 1218 | ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. 1219 | ; http://php.net/mysqlnd.net_cmd_buffer_size 1220 | ;mysqlnd.net_cmd_buffer_size = 2048 1221 | 1222 | ; Size of a pre-allocated buffer used for reading data sent by the server in 1223 | ; bytes. 1224 | ; http://php.net/mysqlnd.net_read_buffer_size 1225 | ;mysqlnd.net_read_buffer_size = 32768 1226 | 1227 | [OCI8] 1228 | 1229 | ; Connection: Enables privileged connections using external 1230 | ; credentials (OCI_SYSOPER, OCI_SYSDBA) 1231 | ; http://php.net/oci8.privileged-connect 1232 | ;oci8.privileged_connect = Off 1233 | 1234 | ; Connection: The maximum number of persistent OCI8 connections per 1235 | ; process. Using -1 means no limit. 1236 | ; http://php.net/oci8.max-persistent 1237 | ;oci8.max_persistent = -1 1238 | 1239 | ; Connection: The maximum number of seconds a process is allowed to 1240 | ; maintain an idle persistent connection. Using -1 means idle 1241 | ; persistent connections will be maintained forever. 1242 | ; http://php.net/oci8.persistent-timeout 1243 | ;oci8.persistent_timeout = -1 1244 | 1245 | ; Connection: The number of seconds that must pass before issuing a 1246 | ; ping during oci_pconnect() to check the connection validity. When 1247 | ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables 1248 | ; pings completely. 1249 | ; http://php.net/oci8.ping-interval 1250 | ;oci8.ping_interval = 60 1251 | 1252 | ; Connection: Set this to a user chosen connection class to be used 1253 | ; for all pooled server requests with Oracle 11g Database Resident 1254 | ; Connection Pooling (DRCP). To use DRCP, this value should be set to 1255 | ; the same string for all web servers running the same application, 1256 | ; the database pool must be configured, and the connection string must 1257 | ; specify to use a pooled server. 1258 | ;oci8.connection_class = 1259 | 1260 | ; High Availability: Using On lets PHP receive Fast Application 1261 | ; Notification (FAN) events generated when a database node fails. The 1262 | ; database must also be configured to post FAN events. 1263 | ;oci8.events = Off 1264 | 1265 | ; Tuning: This option enables statement caching, and specifies how 1266 | ; many statements to cache. Using 0 disables statement caching. 1267 | ; http://php.net/oci8.statement-cache-size 1268 | ;oci8.statement_cache_size = 20 1269 | 1270 | ; Tuning: Enables statement prefetching and sets the default number of 1271 | ; rows that will be fetched automatically after statement execution. 1272 | ; http://php.net/oci8.default-prefetch 1273 | ;oci8.default_prefetch = 100 1274 | 1275 | ; Compatibility. Using On means oci_close() will not close 1276 | ; oci_connect() and oci_new_connect() connections. 1277 | ; http://php.net/oci8.old-oci-close-semantics 1278 | ;oci8.old_oci_close_semantics = Off 1279 | 1280 | [PostgreSQL] 1281 | ; Allow or prevent persistent links. 1282 | ; http://php.net/pgsql.allow-persistent 1283 | pgsql.allow_persistent = On 1284 | 1285 | ; Detect broken persistent links always with pg_pconnect(). 1286 | ; Auto reset feature requires a little overheads. 1287 | ; http://php.net/pgsql.auto-reset-persistent 1288 | pgsql.auto_reset_persistent = Off 1289 | 1290 | ; Maximum number of persistent links. -1 means no limit. 1291 | ; http://php.net/pgsql.max-persistent 1292 | pgsql.max_persistent = -1 1293 | 1294 | ; Maximum number of links (persistent+non persistent). -1 means no limit. 1295 | ; http://php.net/pgsql.max-links 1296 | pgsql.max_links = -1 1297 | 1298 | ; Ignore PostgreSQL backends Notice message or not. 1299 | ; Notice message logging require a little overheads. 1300 | ; http://php.net/pgsql.ignore-notice 1301 | pgsql.ignore_notice = 0 1302 | 1303 | ; Log PostgreSQL backends Notice message or not. 1304 | ; Unless pgsql.ignore_notice=0, module cannot log notice message. 1305 | ; http://php.net/pgsql.log-notice 1306 | pgsql.log_notice = 0 1307 | 1308 | [Sybase-CT] 1309 | ; Allow or prevent persistent links. 1310 | ; http://php.net/sybct.allow-persistent 1311 | sybct.allow_persistent = On 1312 | 1313 | ; Maximum number of persistent links. -1 means no limit. 1314 | ; http://php.net/sybct.max-persistent 1315 | sybct.max_persistent = -1 1316 | 1317 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1318 | ; http://php.net/sybct.max-links 1319 | sybct.max_links = -1 1320 | 1321 | ; Minimum server message severity to display. 1322 | ; http://php.net/sybct.min-server-severity 1323 | sybct.min_server_severity = 10 1324 | 1325 | ; Minimum client message severity to display. 1326 | ; http://php.net/sybct.min-client-severity 1327 | sybct.min_client_severity = 10 1328 | 1329 | ; Set per-context timeout 1330 | ; http://php.net/sybct.timeout 1331 | ;sybct.timeout= 1332 | 1333 | ;sybct.packet_size 1334 | 1335 | ; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. 1336 | ; Default: one minute 1337 | ;sybct.login_timeout= 1338 | 1339 | ; The name of the host you claim to be connecting from, for display by sp_who. 1340 | ; Default: none 1341 | ;sybct.hostname= 1342 | 1343 | ; Allows you to define how often deadlocks are to be retried. -1 means "forever". 1344 | ; Default: 0 1345 | ;sybct.deadlock_retry_count= 1346 | 1347 | [bcmath] 1348 | ; Number of decimal digits for all bcmath functions. 1349 | ; http://php.net/bcmath.scale 1350 | bcmath.scale = 0 1351 | 1352 | [browscap] 1353 | ; http://php.net/browscap 1354 | ;browscap = extra/browscap.ini 1355 | 1356 | [Session] 1357 | ; Handler used to store/retrieve data. 1358 | ; http://php.net/session.save-handler 1359 | session.save_handler = files 1360 | 1361 | ; Argument passed to save_handler. In the case of files, this is the path 1362 | ; where data files are stored. Note: Windows users have to change this 1363 | ; variable in order to use PHP's session functions. 1364 | ; 1365 | ; The path can be defined as: 1366 | ; 1367 | ; session.save_path = "N;/path" 1368 | ; 1369 | ; where N is an integer. Instead of storing all the session files in 1370 | ; /path, what this will do is use subdirectories N-levels deep, and 1371 | ; store the session data in those directories. This is useful if you 1372 | ; or your OS have problems with lots of files in one directory, and is 1373 | ; a more efficient layout for servers that handle lots of sessions. 1374 | ; 1375 | ; NOTE 1: PHP will not create this directory structure automatically. 1376 | ; You can use the script in the ext/session dir for that purpose. 1377 | ; NOTE 2: See the section on garbage collection below if you choose to 1378 | ; use subdirectories for session storage 1379 | ; 1380 | ; The file storage module creates files using mode 600 by default. 1381 | ; You can change that by using 1382 | ; 1383 | ; session.save_path = "N;MODE;/path" 1384 | ; 1385 | ; where MODE is the octal representation of the mode. Note that this 1386 | ; does not overwrite the process's umask. 1387 | ; http://php.net/session.save-path 1388 | ;session.save_path = "<%= ENV['OPENSHIFT_TMP_DIR'] %>" 1389 | 1390 | ; Whether to use strict session mode. 1391 | ; Strict session mode does not accept uninitialized session ID and regenerate 1392 | ; session ID if browser sends uninitialized session ID. Strict mode protects 1393 | ; applications from session fixation via session adoption vulnerability. It is 1394 | ; disabled by default for maximum compatibility, but enabling it is encouraged. 1395 | ; https://wiki.php.net/rfc/strict_sessions 1396 | session.use_strict_mode = 0 1397 | 1398 | ; Whether to use cookies. 1399 | ; http://php.net/session.use-cookies 1400 | session.use_cookies = 1 1401 | 1402 | ; http://php.net/session.cookie-secure 1403 | ;session.cookie_secure = 1404 | 1405 | ; This option forces PHP to fetch and use a cookie for storing and maintaining 1406 | ; the session id. We encourage this operation as it's very helpful in combating 1407 | ; session hijacking when not specifying and managing your own session id. It is 1408 | ; not the end all be all of session hijacking defense, but it's a good start. 1409 | ; http://php.net/session.use-only-cookies 1410 | session.use_only_cookies = 1 1411 | 1412 | ; Name of the session (used as cookie name). 1413 | ; http://php.net/session.name 1414 | session.name = PHPSESSID 1415 | 1416 | ; Initialize session on request startup. 1417 | ; http://php.net/session.auto-start 1418 | session.auto_start = 0 1419 | 1420 | ; Lifetime in seconds of cookie or, if 0, until browser is restarted. 1421 | ; http://php.net/session.cookie-lifetime 1422 | session.cookie_lifetime = 0 1423 | 1424 | ; The path for which the cookie is valid. 1425 | ; http://php.net/session.cookie-path 1426 | session.cookie_path = / 1427 | 1428 | ; The domain for which the cookie is valid. 1429 | ; http://php.net/session.cookie-domain 1430 | session.cookie_domain = 1431 | 1432 | ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. 1433 | ; http://php.net/session.cookie-httponly 1434 | session.cookie_httponly = 1435 | 1436 | ; Handler used to serialize data. php is the standard serializer of PHP. 1437 | ; http://php.net/session.serialize-handler 1438 | session.serialize_handler = php 1439 | 1440 | ; Defines the probability that the 'garbage collection' process is started 1441 | ; on every session initialization. The probability is calculated by using 1442 | ; gc_probability/gc_divisor. Where session.gc_probability is the numerator 1443 | ; and gc_divisor is the denominator in the equation. Setting this value to 1 1444 | ; when the session.gc_divisor value is 100 will give you approximately a 1% chance 1445 | ; the gc will run on any give request. 1446 | ; Default Value: 1 1447 | ; Development Value: 1 1448 | ; Production Value: 1 1449 | ; http://php.net/session.gc-probability 1450 | session.gc_probability = 1 1451 | 1452 | ; Defines the probability that the 'garbage collection' process is started on every 1453 | ; session initialization. The probability is calculated by using the following equation: 1454 | ; gc_probability/gc_divisor. Where session.gc_probability is the numerator and 1455 | ; session.gc_divisor is the denominator in the equation. Setting this value to 1 1456 | ; when the session.gc_divisor value is 100 will give you approximately a 1% chance 1457 | ; the gc will run on any give request. Increasing this value to 1000 will give you 1458 | ; a 0.1% chance the gc will run on any give request. For high volume production servers, 1459 | ; this is a more efficient approach. 1460 | ; Default Value: 100 1461 | ; Development Value: 1000 1462 | ; Production Value: 1000 1463 | ; http://php.net/session.gc-divisor 1464 | session.gc_divisor = 1000 1465 | 1466 | ; After this number of seconds, stored data will be seen as 'garbage' and 1467 | ; cleaned up by the garbage collection process. 1468 | ; http://php.net/session.gc-maxlifetime 1469 | session.gc_maxlifetime = 1440 1470 | 1471 | ; NOTE: If you are using the subdirectory option for storing session files 1472 | ; (see session.save_path above), then garbage collection does *not* 1473 | ; happen automatically. You will need to do your own garbage 1474 | ; collection through a shell script, cron entry, or some other method. 1475 | ; For example, the following script would is the equivalent of 1476 | ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): 1477 | ; find /path/to/sessions -cmin +24 -type f | xargs rm 1478 | 1479 | ; Check HTTP Referer to invalidate externally stored URLs containing ids. 1480 | ; HTTP_REFERER has to contain this substring for the session to be 1481 | ; considered as valid. 1482 | ; http://php.net/session.referer-check 1483 | session.referer_check = 1484 | 1485 | ; How many bytes to read from the file. 1486 | ; http://php.net/session.entropy-length 1487 | ;session.entropy_length = 32 1488 | 1489 | ; Specified here to create the session id. 1490 | ; http://php.net/session.entropy-file 1491 | ; Defaults to /dev/urandom 1492 | ; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom 1493 | ; If neither are found at compile time, the default is no entropy file. 1494 | ; On windows, setting the entropy_length setting will activate the 1495 | ; Windows random source (using the CryptoAPI) 1496 | ;session.entropy_file = /dev/urandom 1497 | 1498 | ; Set to {nocache,private,public,} to determine HTTP caching aspects 1499 | ; or leave this empty to avoid sending anti-caching headers. 1500 | ; http://php.net/session.cache-limiter 1501 | session.cache_limiter = nocache 1502 | 1503 | ; Document expires after n minutes. 1504 | ; http://php.net/session.cache-expire 1505 | session.cache_expire = 180 1506 | 1507 | ; trans sid support is disabled by default. 1508 | ; Use of trans sid may risk your users security. 1509 | ; Use this option with caution. 1510 | ; - User may send URL contains active session ID 1511 | ; to other person via. email/irc/etc. 1512 | ; - URL that contains active session ID may be stored 1513 | ; in publicly accessible computer. 1514 | ; - User may access your site with the same session ID 1515 | ; always using URL stored in browser's history or bookmarks. 1516 | ; http://php.net/session.use-trans-sid 1517 | session.use_trans_sid = 0 1518 | 1519 | ; Select a hash function for use in generating session ids. 1520 | ; Possible Values 1521 | ; 0 (MD5 128 bits) 1522 | ; 1 (SHA-1 160 bits) 1523 | ; This option may also be set to the name of any hash function supported by 1524 | ; the hash extension. A list of available hashes is returned by the hash_algos() 1525 | ; function. 1526 | ; http://php.net/session.hash-function 1527 | session.hash_function = 0 1528 | 1529 | ; Define how many bits are stored in each character when converting 1530 | ; the binary hash data to something readable. 1531 | ; Possible values: 1532 | ; 4 (4 bits: 0-9, a-f) 1533 | ; 5 (5 bits: 0-9, a-v) 1534 | ; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") 1535 | ; Default Value: 4 1536 | ; Development Value: 5 1537 | ; Production Value: 5 1538 | ; http://php.net/session.hash-bits-per-character 1539 | session.hash_bits_per_character = 5 1540 | 1541 | ; The URL rewriter will look for URLs in a defined set of HTML tags. 1542 | ; form/fieldset are special; if you include them here, the rewriter will 1543 | ; add a hidden field with the info which is otherwise appended 1544 | ; to URLs. If you want XHTML conformity, remove the form entry. 1545 | ; Note that all valid entries require a "=", even if no value follows. 1546 | ; Default Value: "a=href,area=href,frame=src,form=,fieldset=" 1547 | ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" 1548 | ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" 1549 | ; http://php.net/url-rewriter.tags 1550 | url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" 1551 | 1552 | ; Enable upload progress tracking in $_SESSION 1553 | ; Default Value: On 1554 | ; Development Value: On 1555 | ; Production Value: On 1556 | ; http://php.net/session.upload-progress.enabled 1557 | ;session.upload_progress.enabled = On 1558 | 1559 | ; Cleanup the progress information as soon as all POST data has been read 1560 | ; (i.e. upload completed). 1561 | ; Default Value: On 1562 | ; Development Value: On 1563 | ; Production Value: On 1564 | ; http://php.net/session.upload-progress.cleanup 1565 | ;session.upload_progress.cleanup = On 1566 | 1567 | ; A prefix used for the upload progress key in $_SESSION 1568 | ; Default Value: "upload_progress_" 1569 | ; Development Value: "upload_progress_" 1570 | ; Production Value: "upload_progress_" 1571 | ; http://php.net/session.upload-progress.prefix 1572 | ;session.upload_progress.prefix = "upload_progress_" 1573 | 1574 | ; The index name (concatenated with the prefix) in $_SESSION 1575 | ; containing the upload progress information 1576 | ; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" 1577 | ; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" 1578 | ; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" 1579 | ; http://php.net/session.upload-progress.name 1580 | ;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" 1581 | 1582 | ; How frequently the upload progress should be updated. 1583 | ; Given either in percentages (per-file), or in bytes 1584 | ; Default Value: "1%" 1585 | ; Development Value: "1%" 1586 | ; Production Value: "1%" 1587 | ; http://php.net/session.upload-progress.freq 1588 | ;session.upload_progress.freq = "1%" 1589 | 1590 | ; The minimum delay between updates, in seconds 1591 | ; Default Value: 1 1592 | ; Development Value: 1 1593 | ; Production Value: 1 1594 | ; http://php.net/session.upload-progress.min-freq 1595 | ;session.upload_progress.min_freq = "1" 1596 | 1597 | [MSSQL] 1598 | ; Allow or prevent persistent links. 1599 | mssql.allow_persistent = On 1600 | 1601 | ; Maximum number of persistent links. -1 means no limit. 1602 | mssql.max_persistent = -1 1603 | 1604 | ; Maximum number of links (persistent+non persistent). -1 means no limit. 1605 | mssql.max_links = -1 1606 | 1607 | ; Minimum error severity to display. 1608 | mssql.min_error_severity = 10 1609 | 1610 | ; Minimum message severity to display. 1611 | mssql.min_message_severity = 10 1612 | 1613 | ; Compatibility mode with old versions of PHP 3.0. 1614 | mssql.compatibility_mode = Off 1615 | 1616 | ; Connect timeout 1617 | ;mssql.connect_timeout = 5 1618 | 1619 | ; Query timeout 1620 | ;mssql.timeout = 60 1621 | 1622 | ; Valid range 0 - 2147483647. Default = 4096. 1623 | ;mssql.textlimit = 4096 1624 | 1625 | ; Valid range 0 - 2147483647. Default = 4096. 1626 | ;mssql.textsize = 4096 1627 | 1628 | ; Limits the number of records in each batch. 0 = all records in one batch. 1629 | ;mssql.batchsize = 0 1630 | 1631 | ; Specify how datetime and datetim4 columns are returned 1632 | ; On => Returns data converted to SQL server settings 1633 | ; Off => Returns values as YYYY-MM-DD hh:mm:ss 1634 | ;mssql.datetimeconvert = On 1635 | 1636 | ; Use NT authentication when connecting to the server 1637 | mssql.secure_connection = Off 1638 | 1639 | ; Specify max number of processes. -1 = library default 1640 | ; msdlib defaults to 25 1641 | ; FreeTDS defaults to 4096 1642 | ;mssql.max_procs = -1 1643 | 1644 | ; Specify client character set. 1645 | ; If empty or not set the client charset from freetds.conf is used 1646 | ; This is only used when compiled with FreeTDS 1647 | ;mssql.charset = "ISO-8859-1" 1648 | 1649 | [Assertion] 1650 | ; Assert(expr); active by default. 1651 | ; http://php.net/assert.active 1652 | ;assert.active = On 1653 | 1654 | ; Issue a PHP warning for each failed assertion. 1655 | ; http://php.net/assert.warning 1656 | ;assert.warning = On 1657 | 1658 | ; Don't bail out by default. 1659 | ; http://php.net/assert.bail 1660 | ;assert.bail = Off 1661 | 1662 | ; User-function to be called if an assertion fails. 1663 | ; http://php.net/assert.callback 1664 | ;assert.callback = 0 1665 | 1666 | ; Eval the expression with current error_reporting(). Set to true if you want 1667 | ; error_reporting(0) around the eval(). 1668 | ; http://php.net/assert.quiet-eval 1669 | ;assert.quiet_eval = 0 1670 | 1671 | [COM] 1672 | ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs 1673 | ; http://php.net/com.typelib-file 1674 | ;com.typelib_file = 1675 | 1676 | ; allow Distributed-COM calls 1677 | ; http://php.net/com.allow-dcom 1678 | ;com.allow_dcom = true 1679 | 1680 | ; autoregister constants of a components typlib on com_load() 1681 | ; http://php.net/com.autoregister-typelib 1682 | ;com.autoregister_typelib = true 1683 | 1684 | ; register constants casesensitive 1685 | ; http://php.net/com.autoregister-casesensitive 1686 | ;com.autoregister_casesensitive = false 1687 | 1688 | ; show warnings on duplicate constant registrations 1689 | ; http://php.net/com.autoregister-verbose 1690 | ;com.autoregister_verbose = true 1691 | 1692 | ; The default character set code-page to use when passing strings to and from COM objects. 1693 | ; Default: system ANSI code page 1694 | ;com.code_page= 1695 | 1696 | [mbstring] 1697 | ; language for internal character representation. 1698 | ; http://php.net/mbstring.language 1699 | ;mbstring.language = Japanese 1700 | 1701 | ; internal/script encoding. 1702 | ; Some encoding cannot work as internal encoding. 1703 | ; (e.g. SJIS, BIG5, ISO-2022-*) 1704 | ; http://php.net/mbstring.internal-encoding 1705 | ;mbstring.internal_encoding = UTF-8 1706 | 1707 | ; http input encoding. 1708 | ; http://php.net/mbstring.http-input 1709 | ;mbstring.http_input = UTF-8 1710 | 1711 | ; http output encoding. mb_output_handler must be 1712 | ; registered as output buffer to function 1713 | ; http://php.net/mbstring.http-output 1714 | ;mbstring.http_output = pass 1715 | 1716 | ; enable automatic encoding translation according to 1717 | ; mbstring.internal_encoding setting. Input chars are 1718 | ; converted to internal encoding by setting this to On. 1719 | ; Note: Do _not_ use automatic encoding translation for 1720 | ; portable libs/applications. 1721 | ; http://php.net/mbstring.encoding-translation 1722 | ;mbstring.encoding_translation = Off 1723 | 1724 | ; automatic encoding detection order. 1725 | ; auto means 1726 | ; http://php.net/mbstring.detect-order 1727 | ;mbstring.detect_order = auto 1728 | 1729 | ; substitute_character used when character cannot be converted 1730 | ; one from another 1731 | ; http://php.net/mbstring.substitute-character 1732 | ;mbstring.substitute_character = none 1733 | 1734 | ; overload(replace) single byte functions by mbstring functions. 1735 | ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), 1736 | ; etc. Possible values are 0,1,2,4 or combination of them. 1737 | ; For example, 7 for overload everything. 1738 | ; 0: No overload 1739 | ; 1: Overload mail() function 1740 | ; 2: Overload str*() functions 1741 | ; 4: Overload ereg*() functions 1742 | ; http://php.net/mbstring.func-overload 1743 | ;mbstring.func_overload = 0 1744 | 1745 | ; enable strict encoding detection. 1746 | ;mbstring.strict_detection = On 1747 | 1748 | ; This directive specifies the regex pattern of content types for which mb_output_handler() 1749 | ; is activated. 1750 | ; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) 1751 | ;mbstring.http_output_conv_mimetype= 1752 | 1753 | [gd] 1754 | ; Tell the jpeg decode to ignore warnings and try to create 1755 | ; a gd image. The warning will then be displayed as notices 1756 | ; disabled by default 1757 | ; http://php.net/gd.jpeg-ignore-warning 1758 | ;gd.jpeg_ignore_warning = 0 1759 | 1760 | [exif] 1761 | ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. 1762 | ; With mbstring support this will automatically be converted into the encoding 1763 | ; given by corresponding encode setting. When empty mbstring.internal_encoding 1764 | ; is used. For the decode settings you can distinguish between motorola and 1765 | ; intel byte order. A decode setting cannot be empty. 1766 | ; http://php.net/exif.encode-unicode 1767 | ;exif.encode_unicode = ISO-8859-15 1768 | 1769 | ; http://php.net/exif.decode-unicode-motorola 1770 | ;exif.decode_unicode_motorola = UCS-2BE 1771 | 1772 | ; http://php.net/exif.decode-unicode-intel 1773 | ;exif.decode_unicode_intel = UCS-2LE 1774 | 1775 | ; http://php.net/exif.encode-jis 1776 | ;exif.encode_jis = 1777 | 1778 | ; http://php.net/exif.decode-jis-motorola 1779 | ;exif.decode_jis_motorola = JIS 1780 | 1781 | ; http://php.net/exif.decode-jis-intel 1782 | ;exif.decode_jis_intel = JIS 1783 | 1784 | [Tidy] 1785 | ; The path to a default tidy configuration file to use when using tidy 1786 | ; http://php.net/tidy.default-config 1787 | ;tidy.default_config = /usr/local/lib/php/default.tcfg 1788 | 1789 | ; Should tidy clean and repair output automatically? 1790 | ; WARNING: Do not use this option if you are generating non-html content 1791 | ; such as dynamic images 1792 | ; http://php.net/tidy.clean-output 1793 | tidy.clean_output = Off 1794 | 1795 | [soap] 1796 | ; Enables or disables WSDL caching feature. 1797 | ; http://php.net/soap.wsdl-cache-enabled 1798 | soap.wsdl_cache_enabled=1 1799 | 1800 | ; Sets the directory name where SOAP extension will put cache files. 1801 | ; http://php.net/soap.wsdl-cache-dir 1802 | soap.wsdl_cache_dir="/tmp" 1803 | 1804 | ; (time to live) Sets the number of second while cached file will be used 1805 | ; instead of original one. 1806 | ; http://php.net/soap.wsdl-cache-ttl 1807 | soap.wsdl_cache_ttl=86400 1808 | 1809 | ; Sets the size of the cache limit. (Max. number of WSDL files to cache) 1810 | soap.wsdl_cache_limit = 5 1811 | 1812 | [sysvshm] 1813 | ; A default size of the shared memory segment 1814 | ;sysvshm.init_mem = 10000 1815 | 1816 | [ldap] 1817 | ; Sets the maximum number of open links or -1 for unlimited. 1818 | ldap.max_links = -1 1819 | 1820 | [mcrypt] 1821 | ; For more information about mcrypt settings see http://php.net/mcrypt-module-open 1822 | 1823 | ; Directory where to load mcrypt algorithms 1824 | ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) 1825 | ;mcrypt.algorithms_dir= 1826 | 1827 | ; Directory where to load mcrypt modes 1828 | ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) 1829 | ;mcrypt.modes_dir= 1830 | 1831 | [dba] 1832 | ;dba.default_handler= 1833 | 1834 | [opcache] 1835 | ; Load the opcache extension 1836 | zend_extension=<%= ENV['OPENSHIFT_PHP_EXTENSION_DIR'] %>/opcache.so 1837 | 1838 | ; Determines if Zend OPCache is enabled 1839 | ;opcache.enable=0 1840 | 1841 | ; Determines if Zend OPCache is enabled for the CLI version of PHP 1842 | ;opcache.enable_cli=0 1843 | 1844 | ; The OPcache shared memory storage size. 1845 | ;opcache.memory_consumption=64 1846 | 1847 | ; The amount of memory for interned strings in Mbytes. 1848 | ;opcache.interned_strings_buffer=4 1849 | 1850 | ; The maximum number of keys (scripts) in the OPcache hash table. 1851 | ; Only numbers between 200 and 100000 are allowed. 1852 | ;opcache.max_accelerated_files=2000 1853 | 1854 | ; The maximum percentage of "wasted" memory until a restart is scheduled. 1855 | ;opcache.max_wasted_percentage=5 1856 | 1857 | ; When this directive is enabled, the OPcache appends the current working 1858 | ; directory to the script key, thus eliminating possible collisions between 1859 | ; files with the same name (basename). Disabling the directive improves 1860 | ; performance, but may break existing applications. 1861 | ;opcache.use_cwd=1 1862 | 1863 | ; When disabled, you must reset the OPcache manually or restart the 1864 | ; webserver for changes to the filesystem to take effect. 1865 | ;opcache.validate_timestamps=1 1866 | 1867 | ; How often (in seconds) to check file timestamps for changes to the shared 1868 | ; memory storage allocation. ("1" means validate once per second, but only 1869 | ; once per request. "0" means always validate) 1870 | ;opcache.revalidate_freq=2 1871 | 1872 | ; Enables or disables file search in include_path optimization 1873 | ;opcache.revalidate_path=0 1874 | 1875 | ; If disabled, all PHPDoc comments are dropped from the code to reduce the 1876 | ; size of the optimized code. 1877 | ;opcache.save_comments=1 1878 | 1879 | ; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments" 1880 | ; may be always stored (save_comments=1), but not loaded by applications 1881 | ; that don't need them anyway. 1882 | ;opcache.load_comments=1 1883 | 1884 | ; If enabled, a fast shutdown sequence is used for the accelerated code 1885 | ;opcache.fast_shutdown=0 1886 | 1887 | ; Allow file existence override (file_exists, etc.) performance feature. 1888 | ;opcache.enable_file_override=0 1889 | 1890 | ; A bitmask, where each bit enables or disables the appropriate OPcache 1891 | ; passes 1892 | ;opcache.optimization_level=0xffffffff 1893 | 1894 | ;opcache.inherited_hack=1 1895 | ;opcache.dups_fix=0 1896 | 1897 | ; The location of the OPcache blacklist file (wildcards allowed). 1898 | ; Each OPcache blacklist file is a text file that holds the names of files 1899 | ; that should not be accelerated. The file format is to add each filename 1900 | ; to a new line. The filename may be a full path or just a file prefix 1901 | ; (i.e., /var/www/x blacklists all the files and directories in /var/www 1902 | ; that start with 'x'). Line starting with a ; are ignored (comments). 1903 | ;opcache.blacklist_filename= 1904 | 1905 | ; Allows exclusion of large files from being cached. By default all files 1906 | ; are cached. 1907 | ;opcache.max_file_size=0 1908 | 1909 | ; Check the cache checksum each N requests. 1910 | ; The default value of "0" means that the checks are disabled. 1911 | ;opcache.consistency_checks=0 1912 | 1913 | ; How long to wait (in seconds) for a scheduled restart to begin if the cache 1914 | ; is not being accessed. 1915 | ;opcache.force_restart_timeout=180 1916 | 1917 | ; OPcache error_log file name. Empty string assumes "stderr". 1918 | ;opcache.error_log= 1919 | 1920 | ; All OPcache errors go to the Web server log. 1921 | ; By default, only fatal errors (level 0) or errors (level 1) are logged. 1922 | ; You can also enable warnings (level 2), info messages (level 3) or 1923 | ; debug messages (level 4). 1924 | ;opcache.log_verbosity_level=1 1925 | 1926 | ; Preferred Shared Memory back-end. Leave empty and let the system decide. 1927 | ;opcache.preferred_memory_model= 1928 | 1929 | ; Protect the shared memory from unexpected writing during script execution. 1930 | ; Useful for internal debugging only. 1931 | ;opcache.protect_memory=0 1932 | 1933 | [curl] 1934 | ; A default value for the CURLOPT_CAINFO option. This is required to be an 1935 | ; absolute path. 1936 | ;curl.cainfo = 1937 | 1938 | ; Local Variables: 1939 | ; tab-width: 4 1940 | ; End: 1941 | -------------------------------------------------------------------------------- /conf/php-fpm.ini.erb: -------------------------------------------------------------------------------- 1 | [PHP] 2 | 3 | ;;;;;;;;;;;;;;;;;;; 4 | ; About php.ini ; 5 | ;;;;;;;;;;;;;;;;;;; 6 | ; PHP's initialization file, generally called php.ini, is responsible for 7 | ; configuring many of the aspects of PHP's behavior. 8 | 9 | ; PHP attempts to find and load this configuration from a number of locations. 10 | ; The following is a summary of its search order: 11 | ; 1. SAPI module specific location. 12 | ; 2. The PHPRC environment variable. (As of PHP 5.2.0) 13 | ; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) 14 | ; 4. Current working directory (except CLI) 15 | ; 5. The web server's directory (for SAPI modules), or directory of PHP 16 | ; (otherwise in Windows) 17 | ; 6. The directory from the --with-config-file-path compile time option, or the 18 | ; Windows directory (C:\windows or C:\winnt) 19 | ; See the PHP docs for more specific information. 20 | ; http://php.net/configuration.file 21 | 22 | ; The syntax of the file is extremely simple. Whitespace and lines 23 | ; beginning with a semicolon are silently ignored (as you probably guessed). 24 | ; Section headers (e.g. [Foo]) are also silently ignored, even though 25 | ; they might mean something in the future. 26 | 27 | ; Directives following the section heading [PATH=/www/mysite] only 28 | ; apply to PHP files in the /www/mysite directory. Directives 29 | ; following the section heading [HOST=www.example.com] only apply to 30 | ; PHP files served from www.example.com. Directives set in these 31 | ; special sections cannot be overridden by user-defined INI files or 32 | ; at runtime. Currently, [PATH=] and [HOST=] sections only work under 33 | ; CGI/FastCGI. 34 | ; http://php.net/ini.sections 35 | 36 | ; Directives are specified using the following syntax: 37 | ; directive = value 38 | ; Directive names are *case sensitive* - foo=bar is different from FOO=bar. 39 | ; Directives are variables used to configure PHP or PHP extensions. 40 | ; There is no name validation. If PHP can't find an expected 41 | ; directive because it is not set or is mistyped, a default value will be used. 42 | 43 | ; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one 44 | ; of the INI constants (On, Off, True, False, Yes, No and None) or an expression 45 | ; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a 46 | ; previously set variable or directive (e.g. ${foo}) 47 | 48 | ; Expressions in the INI file are limited to bitwise operators and parentheses: 49 | ; | bitwise OR 50 | ; ^ bitwise XOR 51 | ; & bitwise AND 52 | ; ~ bitwise NOT 53 | ; ! boolean NOT 54 | 55 | ; Boolean flags can be turned on using the values 1, On, True or Yes. 56 | ; They can be turned off using the values 0, Off, False or No. 57 | 58 | ; An empty string can be denoted by simply not writing anything after the equal 59 | ; sign, or by using the None keyword: 60 | 61 | ; foo = ; sets foo to an empty string 62 | ; foo = None ; sets foo to an empty string 63 | ; foo = "None" ; sets foo to the string 'None' 64 | 65 | ; If you use constants in your value, and these constants belong to a 66 | ; dynamically loaded extension (either a PHP extension or a Zend extension), 67 | ; you may only use these constants *after* the line that loads the extension. 68 | 69 | ;;;;;;;;;;;;;;;;;;; 70 | ; About this file ; 71 | ;;;;;;;;;;;;;;;;;;; 72 | ; PHP comes packaged with two INI files. One that is recommended to be used 73 | ; in production environments and one that is recommended to be used in 74 | ; development environments. 75 | 76 | ; php.ini-production contains settings which hold security, performance and 77 | ; best practices at its core. But please be aware, these settings may break 78 | ; compatibility with older or less security conscience applications. We 79 | ; recommending using the production ini in production and testing environments. 80 | 81 | ; php.ini-development is very similar to its production variant, except it's 82 | ; much more verbose when it comes to errors. We recommending using the 83 | ; development version only in development environments as errors shown to 84 | ; application users can inadvertently leak otherwise secure information. 85 | 86 | ; This is php.ini-production INI file. 87 | 88 | ;;;;;;;;;;;;;;;;;;; 89 | ; Quick Reference ; 90 | ;;;;;;;;;;;;;;;;;;; 91 | ; The following are all the settings which are different in either the production 92 | ; or development versions of the INIs with respect to PHP's default behavior. 93 | ; Please see the actual settings later in the document for more details as to why 94 | ; we recommend these changes in PHP's behavior. 95 | 96 | ; display_errors 97 | ; Default Value: On 98 | ; Development Value: On 99 | ; Production Value: Off 100 | 101 | ; display_startup_errors 102 | ; Default Value: Off 103 | ; Development Value: On 104 | ; Production Value: Off 105 | 106 | ; error_reporting 107 | ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 108 | ; Development Value: E_ALL 109 | ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT 110 | 111 | ; html_errors 112 | ; Default Value: On 113 | ; Development Value: On 114 | ; Production value: On 115 | 116 | ; log_errors 117 | ; Default Value: Off 118 | ; Development Value: On 119 | ; Production Value: On 120 | 121 | ; max_input_time 122 | ; Default Value: -1 (Unlimited) 123 | ; Development Value: 60 (60 seconds) 124 | ; Production Value: 60 (60 seconds) 125 | 126 | ; output_buffering 127 | ; Default Value: Off 128 | ; Development Value: 4096 129 | ; Production Value: 4096 130 | 131 | ; register_argc_argv 132 | ; Default Value: On 133 | ; Development Value: Off 134 | ; Production Value: Off 135 | 136 | ; request_order 137 | ; Default Value: None 138 | ; Development Value: "GP" 139 | ; Production Value: "GP" 140 | 141 | ; session.gc_divisor 142 | ; Default Value: 100 143 | ; Development Value: 1000 144 | ; Production Value: 1000 145 | 146 | ; session.hash_bits_per_character 147 | ; Default Value: 4 148 | ; Development Value: 5 149 | ; Production Value: 5 150 | 151 | ; short_open_tag 152 | ; Default Value: On 153 | ; Development Value: Off 154 | ; Production Value: Off 155 | 156 | ; track_errors 157 | ; Default Value: Off 158 | ; Development Value: On 159 | ; Production Value: Off 160 | 161 | ; url_rewriter.tags 162 | ; Default Value: "a=href,area=href,frame=src,form=,fieldset=" 163 | ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" 164 | ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" 165 | 166 | ; variables_order 167 | ; Default Value: "EGPCS" 168 | ; Development Value: "GPCS" 169 | ; Production Value: "GPCS" 170 | 171 | ;;;;;;;;;;;;;;;;;;;; 172 | ; php.ini Options ; 173 | ;;;;;;;;;;;;;;;;;;;; 174 | ; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" 175 | ;user_ini.filename = ".user.ini" 176 | 177 | ; To disable this feature set this option to empty value 178 | ;user_ini.filename = 179 | 180 | ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) 181 | ;user_ini.cache_ttl = 300 182 | 183 | ;;;;;;;;;;;;;;;;;;;; 184 | ; Language Options ; 185 | ;;;;;;;;;;;;;;;;;;;; 186 | 187 | ; Enable the PHP scripting language engine under Apache. 188 | ; http://php.net/engine 189 | engine = On 190 | 191 | ; This directive determines whether or not PHP will recognize code between 192 | ; tags as PHP source which should be processed as such. It is 193 | ; generally recommended that should be used and that this feature 194 | ; should be disabled, as enabling it may result in issues when generating XML 195 | ; documents, however this remains supported for backward compatibility reasons. 196 | ; Note that this directive does not control the tags. 205 | ; http://php.net/asp-tags 206 | asp_tags = Off 207 | 208 | ; The number of significant digits displayed in floating point numbers. 209 | ; http://php.net/precision 210 | precision = 14 211 | 212 | ; Output buffering is a mechanism for controlling how much output data 213 | ; (excluding headers and cookies) PHP should keep internally before pushing that 214 | ; data to the client. If your application's output exceeds this setting, PHP 215 | ; will send that data in chunks of roughly the size you specify. 216 | ; Turning on this setting and managing its maximum buffer size can yield some 217 | ; interesting side-effects depending on your application and web server. 218 | ; You may be able to send headers and cookies after you've already sent output 219 | ; through print or echo. You also may see performance benefits if your server is 220 | ; emitting less packets due to buffered output versus PHP streaming the output 221 | ; as it gets it. On production servers, 4096 bytes is a good setting for performance 222 | ; reasons. 223 | ; Note: Output buffering can also be controlled via Output Buffering Control 224 | ; functions. 225 | ; Possible Values: 226 | ; On = Enabled and buffer is unlimited. (Use with caution) 227 | ; Off = Disabled 228 | ; Integer = Enables the buffer and sets its maximum size in bytes. 229 | ; Note: This directive is hardcoded to Off for the CLI SAPI 230 | ; Default Value: Off 231 | ; Development Value: 4096 232 | ; Production Value: 4096 233 | ; http://php.net/output-buffering 234 | output_buffering = 4096 235 | 236 | ; You can redirect all of the output of your scripts to a function. For 237 | ; example, if you set output_handler to "mb_output_handler", character 238 | ; encoding will be transparently converted to the specified encoding. 239 | ; Setting any output handler automatically turns on output buffering. 240 | ; Note: People who wrote portable scripts should not depend on this ini 241 | ; directive. Instead, explicitly set the output handler using ob_start(). 242 | ; Using this ini directive may cause problems unless you know what script 243 | ; is doing. 244 | ; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" 245 | ; and you cannot use both "ob_gzhandler" and "zlib.output_compression". 246 | ; Note: output_handler must be empty if this is set 'On' !!!! 247 | ; Instead you must use zlib.output_handler. 248 | ; http://php.net/output-handler 249 | ;output_handler = 250 | 251 | ; Transparent output compression using the zlib library 252 | ; Valid values for this option are 'off', 'on', or a specific buffer size 253 | ; to be used for compression (default is 4KB) 254 | ; Note: Resulting chunk size may vary due to nature of compression. PHP 255 | ; outputs chunks that are few hundreds bytes each as a result of 256 | ; compression. If you prefer a larger chunk size for better 257 | ; performance, enable output_buffering in addition. 258 | ; Note: You need to use zlib.output_handler instead of the standard 259 | ; output_handler, or otherwise the output will be corrupted. 260 | ; http://php.net/zlib.output-compression 261 | zlib.output_compression = Off 262 | 263 | ; http://php.net/zlib.output-compression-level 264 | ;zlib.output_compression_level = -1 265 | 266 | ; You cannot specify additional output handlers if zlib.output_compression 267 | ; is activated here. This setting does the same as output_handler but in 268 | ; a different order. 269 | ; http://php.net/zlib.output-handler 270 | ;zlib.output_handler = 271 | 272 | ; Implicit flush tells PHP to tell the output layer to flush itself 273 | ; automatically after every output block. This is equivalent to calling the 274 | ; PHP function flush() after each and every call to print() or echo() and each 275 | ; and every HTML block. Turning this option on has serious performance 276 | ; implications and is generally recommended for debugging purposes only. 277 | ; http://php.net/implicit-flush 278 | ; Note: This directive is hardcoded to On for the CLI SAPI 279 | implicit_flush = Off 280 | 281 | ; The unserialize callback function will be called (with the undefined class' 282 | ; name as parameter), if the unserializer finds an undefined class 283 | ; which should be instantiated. A warning appears if the specified function is 284 | ; not defined, or if the function doesn't include/implement the missing class. 285 | ; So only set this entry, if you really want to implement such a 286 | ; callback-function. 287 | unserialize_callback_func = 288 | 289 | ; When floats & doubles are serialized store serialize_precision significant 290 | ; digits after the floating point. The default value ensures that when floats 291 | ; are decoded with unserialize, the data will remain the same. 292 | serialize_precision = 17 293 | 294 | ; open_basedir, if set, limits all file operations to the defined directory 295 | ; and below. This directive makes most sense if used in a per-directory 296 | ; or per-virtualhost web server configuration file. 297 | ; http://php.net/open-basedir 298 | ;open_basedir = 299 | 300 | ; This directive allows you to disable certain functions for security reasons. 301 | ; It receives a comma-delimited list of function names. 302 | ; http://php.net/disable-functions 303 | disable_functions = 304 | 305 | ; This directive allows you to disable certain classes for security reasons. 306 | ; It receives a comma-delimited list of class names. 307 | ; http://php.net/disable-classes 308 | disable_classes = 309 | 310 | ; Colors for Syntax Highlighting mode. Anything that's acceptable in 311 | ; would work. 312 | ; http://php.net/syntax-highlighting 313 | ;highlight.string = #DD0000 314 | ;highlight.comment = #FF9900 315 | ;highlight.keyword = #007700 316 | ;highlight.default = #0000BB 317 | ;highlight.html = #000000 318 | 319 | ; If enabled, the request will be allowed to complete even if the user aborts 320 | ; the request. Consider enabling it if executing long requests, which may end up 321 | ; being interrupted by the user or a browser timing out. PHP's default behavior 322 | ; is to disable this feature. 323 | ; http://php.net/ignore-user-abort 324 | ;ignore_user_abort = On 325 | 326 | ; Determines the size of the realpath cache to be used by PHP. This value should 327 | ; be increased on systems where PHP opens many files to reflect the quantity of 328 | ; the file operations performed. 329 | ; http://php.net/realpath-cache-size 330 | ;realpath_cache_size = 16k 331 | 332 | ; Duration of time, in seconds for which to cache realpath information for a given 333 | ; file or directory. For systems with rarely changing files, consider increasing this 334 | ; value. 335 | ; http://php.net/realpath-cache-ttl 336 | ;realpath_cache_ttl = 120 337 | 338 | ; Enables or disables the circular reference collector. 339 | ; http://php.net/zend.enable-gc 340 | zend.enable_gc = On 341 | 342 | ; If enabled, scripts may be written in encodings that are incompatible with 343 | ; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such 344 | ; encodings. To use this feature, mbstring extension must be enabled. 345 | ; Default: Off 346 | ;zend.multibyte = Off 347 | 348 | ; Allows to set the default encoding for the scripts. This value will be used 349 | ; unless "declare(encoding=...)" directive appears at the top of the script. 350 | ; Only affects if zend.multibyte is set. 351 | ; Default: "" 352 | ;zend.script_encoding = 353 | 354 | ;;;;;;;;;;;;;;;;; 355 | ; Miscellaneous ; 356 | ;;;;;;;;;;;;;;;;; 357 | 358 | ; Decides whether PHP may expose the fact that it is installed on the server 359 | ; (e.g. by adding its signature to the Web server header). It is no security 360 | ; threat in any way, but it makes it possible to determine whether you use PHP 361 | ; on your server or not. 362 | ; http://php.net/expose-php 363 | expose_php = On 364 | 365 | ;;;;;;;;;;;;;;;;;;; 366 | ; Resource Limits ; 367 | ;;;;;;;;;;;;;;;;;;; 368 | 369 | ; Maximum execution time of each script, in seconds 370 | ; http://php.net/max-execution-time 371 | ; Note: This directive is hardcoded to 0 for the CLI SAPI 372 | max_execution_time = 30 373 | 374 | ; Maximum amount of time each script may spend parsing request data. It's a good 375 | ; idea to limit this time on productions servers in order to eliminate unexpectedly 376 | ; long running scripts. 377 | ; Note: This directive is hardcoded to -1 for the CLI SAPI 378 | ; Default Value: -1 (Unlimited) 379 | ; Development Value: 60 (60 seconds) 380 | ; Production Value: 60 (60 seconds) 381 | ; http://php.net/max-input-time 382 | max_input_time = 60 383 | 384 | ; Maximum input variable nesting level 385 | ; http://php.net/max-input-nesting-level 386 | ;max_input_nesting_level = 64 387 | 388 | ; How many GET/POST/COOKIE input variables may be accepted 389 | ; max_input_vars = 1000 390 | 391 | ; Maximum amount of memory a script may consume (128MB) 392 | ; http://php.net/memory-limit 393 | memory_limit = 128M 394 | 395 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 396 | ; Error handling and logging ; 397 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 398 | 399 | ; This directive informs PHP of which errors, warnings and notices you would like 400 | ; it to take action for. The recommended way of setting values for this 401 | ; directive is through the use of the error level constants and bitwise 402 | ; operators. The error level constants are below here for convenience as well as 403 | ; some common settings and their meanings. 404 | ; By default, PHP is set to take action on all errors, notices and warnings EXCEPT 405 | ; those related to E_NOTICE and E_STRICT, which together cover best practices and 406 | ; recommended coding standards in PHP. For performance reasons, this is the 407 | ; recommend error reporting setting. Your production server shouldn't be wasting 408 | ; resources complaining about best practices and coding standards. That's what 409 | ; development servers and development settings are for. 410 | ; Note: The php.ini-development file has this setting as E_ALL. This 411 | ; means it pretty much reports everything which is exactly what you want during 412 | ; development and early testing. 413 | ; 414 | ; Error Level Constants: 415 | ; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0) 416 | ; E_ERROR - fatal run-time errors 417 | ; E_RECOVERABLE_ERROR - almost fatal run-time errors 418 | ; E_WARNING - run-time warnings (non-fatal errors) 419 | ; E_PARSE - compile-time parse errors 420 | ; E_NOTICE - run-time notices (these are warnings which often result 421 | ; from a bug in your code, but it's possible that it was 422 | ; intentional (e.g., using an uninitialized variable and 423 | ; relying on the fact it's automatically initialized to an 424 | ; empty string) 425 | ; E_STRICT - run-time notices, enable to have PHP suggest changes 426 | ; to your code which will ensure the best interoperability 427 | ; and forward compatibility of your code 428 | ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup 429 | ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's 430 | ; initial startup 431 | ; E_COMPILE_ERROR - fatal compile-time errors 432 | ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) 433 | ; E_USER_ERROR - user-generated error message 434 | ; E_USER_WARNING - user-generated warning message 435 | ; E_USER_NOTICE - user-generated notice message 436 | ; E_DEPRECATED - warn about code that will not work in future versions 437 | ; of PHP 438 | ; E_USER_DEPRECATED - user-generated deprecation warnings 439 | ; 440 | ; Common Values: 441 | ; E_ALL (Show all errors, warnings and notices including coding standards.) 442 | ; E_ALL & ~E_NOTICE (Show all errors, except for notices) 443 | ; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.) 444 | ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) 445 | ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED 446 | ; Development Value: E_ALL 447 | ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT 448 | ; http://php.net/error-reporting 449 | error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT 450 | 451 | ; This directive controls whether or not and where PHP will output errors, 452 | ; notices and warnings too. Error output is very useful during development, but 453 | ; it could be very dangerous in production environments. Depending on the code 454 | ; which is triggering the error, sensitive information could potentially leak 455 | ; out of your application such as database usernames and passwords or worse. 456 | ; It's recommended that errors be logged on production servers rather than 457 | ; having the errors sent to STDOUT. 458 | ; Possible Values: 459 | ; Off = Do not display any errors 460 | ; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) 461 | ; On or stdout = Display errors to STDOUT 462 | ; Default Value: On 463 | ; Development Value: On 464 | ; Production Value: Off 465 | ; http://php.net/display-errors 466 | display_errors = Off 467 | 468 | ; The display of errors which occur during PHP's startup sequence are handled 469 | ; separately from display_errors. PHP's default behavior is to suppress those 470 | ; errors from clients. Turning the display of startup errors on can be useful in 471 | ; debugging configuration problems. But, it's strongly recommended that you 472 | ; leave this setting off on production servers. 473 | ; Default Value: Off 474 | ; Development Value: On 475 | ; Production Value: Off 476 | ; http://php.net/display-startup-errors 477 | display_startup_errors = Off 478 | 479 | ; Besides displaying errors, PHP can also log errors to locations such as a 480 | ; server-specific log, STDERR, or a location specified by the error_log 481 | ; directive found below. While errors should not be displayed on productions 482 | ; servers they should still be monitored and logging is a great way to do that. 483 | ; Default Value: Off 484 | ; Development Value: On 485 | ; Production Value: On 486 | ; http://php.net/log-errors 487 | log_errors = On 488 | 489 | ; Set maximum length of log_errors. In error_log information about the source is 490 | ; added. The default is 1024 and 0 allows to not apply any maximum length at all. 491 | ; http://php.net/log-errors-max-len 492 | log_errors_max_len = 1024 493 | 494 | ; Do not log repeated messages. Repeated errors must occur in same file on same 495 | ; line unless ignore_repeated_source is set true. 496 | ; http://php.net/ignore-repeated-errors 497 | ignore_repeated_errors = Off 498 | 499 | ; Ignore source of message when ignoring repeated messages. When this setting 500 | ; is On you will not log errors with repeated messages from different files or 501 | ; source lines. 502 | ; http://php.net/ignore-repeated-source 503 | ignore_repeated_source = Off 504 | 505 | ; If this parameter is set to Off, then memory leaks will not be shown (on 506 | ; stdout or in the log). This has only effect in a debug compile, and if 507 | ; error reporting includes E_WARNING in the allowed list 508 | ; http://php.net/report-memleaks 509 | report_memleaks = On 510 | 511 | ; This setting is on by default. 512 | ;report_zend_debug = 0 513 | 514 | ; Store the last error/warning message in $php_errormsg (boolean). Setting this value 515 | ; to On can assist in debugging and is appropriate for development servers. It should 516 | ; however be disabled on production servers. 517 | ; Default Value: Off 518 | ; Development Value: On 519 | ; Production Value: Off 520 | ; http://php.net/track-errors 521 | track_errors = Off 522 | 523 | ; Turn off normal error reporting and emit XML-RPC error XML 524 | ; http://php.net/xmlrpc-errors 525 | ;xmlrpc_errors = 0 526 | 527 | ; An XML-RPC faultCode 528 | ;xmlrpc_error_number = 0 529 | 530 | ; When PHP displays or logs an error, it has the capability of formatting the 531 | ; error message as HTML for easier reading. This directive controls whether 532 | ; the error message is formatted as HTML or not. 533 | ; Note: This directive is hardcoded to Off for the CLI SAPI 534 | ; Default Value: On 535 | ; Development Value: On 536 | ; Production value: On 537 | ; http://php.net/html-errors 538 | html_errors = On 539 | 540 | ; If html_errors is set to On *and* docref_root is not empty, then PHP 541 | ; produces clickable error messages that direct to a page describing the error 542 | ; or function causing the error in detail. 543 | ; You can download a copy of the PHP manual from http://php.net/docs 544 | ; and change docref_root to the base URL of your local copy including the 545 | ; leading '/'. You must also specify the file extension being used including 546 | ; the dot. PHP's default behavior is to leave these settings empty, in which 547 | ; case no links to documentation are generated. 548 | ; Note: Never use this feature for production boxes. 549 | ; http://php.net/docref-root 550 | ; Examples 551 | ;docref_root = "/phpmanual/" 552 | 553 | ; http://php.net/docref-ext 554 | ;docref_ext = .html 555 | 556 | ; String to output before an error message. PHP's default behavior is to leave 557 | ; this setting blank. 558 | ; http://php.net/error-prepend-string 559 | ; Example: 560 | ;error_prepend_string = "" 561 | 562 | ; String to output after an error message. PHP's default behavior is to leave 563 | ; this setting blank. 564 | ; http://php.net/error-append-string 565 | ; Example: 566 | ;error_append_string = "" 567 | 568 | ; Log errors to specified file. PHP's default behavior is to leave this value 569 | ; empty. 570 | ; http://php.net/error-log 571 | ; Example: 572 | ;error_log = php_errors.log 573 | ; Log errors to syslog (Event Log on Windows). 574 | error_log = <%= ENV['OPENSHIFT_LOG_DIR'] %>/php-error.log 575 | 576 | ;windows.show_crt_warning 577 | ; Default value: 0 578 | ; Development value: 0 579 | ; Production value: 0 580 | 581 | ;;;;;;;;;;;;;;;;; 582 | ; Data Handling ; 583 | ;;;;;;;;;;;;;;;;; 584 | 585 | ; The separator used in PHP generated URLs to separate arguments. 586 | ; PHP's default setting is "&". 587 | ; http://php.net/arg-separator.output 588 | ; Example: 589 | ;arg_separator.output = "&" 590 | 591 | ; List of separator(s) used by PHP to parse input URLs into variables. 592 | ; PHP's default setting is "&". 593 | ; NOTE: Every character in this directive is considered as separator! 594 | ; http://php.net/arg-separator.input 595 | ; Example: 596 | ;arg_separator.input = ";&" 597 | 598 | ; This directive determines which super global arrays are registered when PHP 599 | ; starts up. G,P,C,E & S are abbreviations for the following respective super 600 | ; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty 601 | ; paid for the registration of these arrays and because ENV is not as commonly 602 | ; used as the others, ENV is not recommended on productions servers. You 603 | ; can still get access to the environment variables through getenv() should you 604 | ; need to. 605 | ; Default Value: "EGPCS" 606 | ; Development Value: "GPCS" 607 | ; Production Value: "GPCS"; 608 | ; http://php.net/variables-order 609 | variables_order = "GPCS" 610 | 611 | ; This directive determines which super global data (G,P,C,E & S) should 612 | ; be registered into the super global array REQUEST. If so, it also determines 613 | ; the order in which that data is registered. The values for this directive are 614 | ; specified in the same manner as the variables_order directive, EXCEPT one. 615 | ; Leaving this value empty will cause PHP to use the value set in the 616 | ; variables_order directive. It does not mean it will leave the super globals 617 | ; array REQUEST empty. 618 | ; Default Value: None 619 | ; Development Value: "GP" 620 | ; Production Value: "GP" 621 | ; http://php.net/request-order 622 | request_order = "GP" 623 | 624 | ; This directive determines whether PHP registers $argv & $argc each time it 625 | ; runs. $argv contains an array of all the arguments passed to PHP when a script 626 | ; is invoked. $argc contains an integer representing the number of arguments 627 | ; that were passed when the script was invoked. These arrays are extremely 628 | ; useful when running scripts from the command line. When this directive is 629 | ; enabled, registering these variables consumes CPU cycles and memory each time 630 | ; a script is executed. For performance reasons, this feature should be disabled 631 | ; on production servers. 632 | ; Note: This directive is hardcoded to On for the CLI SAPI 633 | ; Default Value: On 634 | ; Development Value: Off 635 | ; Production Value: Off 636 | ; http://php.net/register-argc-argv 637 | register_argc_argv = Off 638 | 639 | ; When enabled, the ENV, REQUEST and SERVER variables are created when they're 640 | ; first used (Just In Time) instead of when the script starts. If these 641 | ; variables are not used within a script, having this directive on will result 642 | ; in a performance gain. The PHP directive register_argc_argv must be disabled 643 | ; for this directive to have any affect. 644 | ; http://php.net/auto-globals-jit 645 | auto_globals_jit = On 646 | 647 | ; Whether PHP will read the POST data. 648 | ; This option is enabled by default. 649 | ; Most likely, you won't want to disable this option globally. It causes $_POST 650 | ; and $_FILES to always be empty; the only way you will be able to read the 651 | ; POST data will be through the php://input stream wrapper. This can be useful 652 | ; to proxy requests or to process the POST data in a memory efficient fashion. 653 | ; http://php.net/enable-post-data-reading 654 | ;enable_post_data_reading = Off 655 | 656 | ; Maximum size of POST data that PHP will accept. 657 | ; Its value may be 0 to disable the limit. It is ignored if POST data reading 658 | ; is disabled through enable_post_data_reading. 659 | ; http://php.net/post-max-size 660 | post_max_size = 8M 661 | 662 | ; Automatically add files before PHP document. 663 | ; http://php.net/auto-prepend-file 664 | auto_prepend_file = 665 | 666 | ; Automatically add files after PHP document. 667 | ; http://php.net/auto-append-file 668 | auto_append_file = 669 | 670 | ; By default, PHP will output a character encoding using 671 | ; the Content-type: header. To disable sending of the charset, simply 672 | ; set it to be empty. 673 | ; 674 | ; PHP's built-in default is text/html 675 | ; http://php.net/default-mimetype 676 | default_mimetype = "text/html" 677 | 678 | ; PHP's default character set is set to empty. 679 | ; http://php.net/default-charset 680 | default_charset = "UTF-8" 681 | 682 | ; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is 683 | ; to disable this feature. If post reading is disabled through 684 | ; enable_post_data_reading, $HTTP_RAW_POST_DATA is *NOT* populated. 685 | ; http://php.net/always-populate-raw-post-data 686 | ;always_populate_raw_post_data = On 687 | 688 | ;;;;;;;;;;;;;;;;;;;;;;;;; 689 | ; Paths and Directories ; 690 | ;;;;;;;;;;;;;;;;;;;;;;;;; 691 | 692 | ; UNIX: "/path1:/path2" 693 | ;include_path = ".:/php/includes" 694 | ; 695 | ; Windows: "\path1;\path2" 696 | ;include_path = ".;c:\php\includes" 697 | ; 698 | ; PHP's default setting for include_path is ".;/path/to/php/pear" 699 | ; http://php.net/include-path 700 | include_path = "." 701 | 702 | ; The root of the PHP pages, used only if nonempty. 703 | ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root 704 | ; if you are running php as a CGI under any web server (other than IIS) 705 | ; see documentation for security issues. The alternate is to use the 706 | ; cgi.force_redirect configuration below 707 | ; http://php.net/doc-root 708 | doc_root = 709 | 710 | ; The directory under which PHP opens the script using /~username used only 711 | ; if nonempty. 712 | ; http://php.net/user-dir 713 | user_dir = 714 | 715 | ; Directory in which the loadable extensions (modules) reside. 716 | ; http://php.net/extension-dir 717 | ; extension_dir = "./" 718 | ; On windows: 719 | extension_dir = "<%= ENV['OPENSHIFT_PHP_EXTENSION_DIR'] %>" 720 | 721 | ; Directory where the temporary files should be placed. 722 | ; Defaults to the system default (see sys_get_temp_dir) 723 | ; sys_temp_dir = "/tmp" 724 | 725 | ; Whether or not to enable the dl() function. The dl() function does NOT work 726 | ; properly in multithreaded servers, such as IIS or Zeus, and is automatically 727 | ; disabled on them. 728 | ; http://php.net/enable-dl 729 | enable_dl = Off 730 | 731 | ; cgi.force_redirect is necessary to provide security running PHP as a CGI under 732 | ; most web servers. Left undefined, PHP turns this on by default. You can 733 | ; turn it off here AT YOUR OWN RISK 734 | ; **You CAN safely turn this off for IIS, in fact, you MUST.** 735 | ; http://php.net/cgi.force-redirect 736 | ;cgi.force_redirect = 1 737 | 738 | ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with 739 | ; every request. PHP's default behavior is to disable this feature. 740 | ;cgi.nph = 1 741 | 742 | ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape 743 | ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP 744 | ; will look for to know it is OK to continue execution. Setting this variable MAY 745 | ; cause security issues, KNOW WHAT YOU ARE DOING FIRST. 746 | ; http://php.net/cgi.redirect-status-env 747 | ;cgi.redirect_status_env = 748 | 749 | ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's 750 | ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok 751 | ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting 752 | ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting 753 | ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts 754 | ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. 755 | ; http://php.net/cgi.fix-pathinfo 756 | ;cgi.fix_pathinfo=1 757 | 758 | ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate 759 | ; security tokens of the calling client. This allows IIS to define the 760 | ; security context that the request runs under. mod_fastcgi under Apache 761 | ; does not currently support this feature (03/17/2002) 762 | ; Set to 1 if running under IIS. Default is zero. 763 | ; http://php.net/fastcgi.impersonate 764 | ;fastcgi.impersonate = 1 765 | 766 | ; Disable logging through FastCGI connection. PHP's default behavior is to enable 767 | ; this feature. 768 | ;fastcgi.logging = 0 769 | 770 | ; cgi.rfc2616_headers configuration option tells PHP what type of headers to 771 | ; use when sending HTTP response code. If it's set 0 PHP sends Status: header that 772 | ; is supported by Apache. When this option is set to 1 PHP will send 773 | ; RFC2616 compliant header. 774 | ; Default is zero. 775 | ; http://php.net/cgi.rfc2616-headers 776 | ;cgi.rfc2616_headers = 0 777 | 778 | ;;;;;;;;;;;;;;;; 779 | ; File Uploads ; 780 | ;;;;;;;;;;;;;;;; 781 | 782 | ; Whether to allow HTTP file uploads. 783 | ; http://php.net/file-uploads 784 | file_uploads = On 785 | 786 | ; Temporary directory for HTTP uploaded files (will use system default if not 787 | ; specified). 788 | ; http://php.net/upload-tmp-dir 789 | ;upload_tmp_dir = 790 | 791 | ; Maximum allowed size for uploaded files. 792 | ; http://php.net/upload-max-filesize 793 | upload_max_filesize = 2M 794 | 795 | ; Maximum number of files that can be uploaded via a single request 796 | max_file_uploads = 20 797 | 798 | ;;;;;;;;;;;;;;;;;; 799 | ; Fopen wrappers ; 800 | ;;;;;;;;;;;;;;;;;; 801 | 802 | ; Whether to allow the treatment of URLs (like http:// or ftp://) as files. 803 | ; http://php.net/allow-url-fopen 804 | allow_url_fopen = On 805 | 806 | ; Whether to allow include/require to open URLs (like http:// or ftp://) as files. 807 | ; http://php.net/allow-url-include 808 | allow_url_include = Off 809 | 810 | ; Define the anonymous ftp password (your email address). PHP's default setting 811 | ; for this is empty. 812 | ; http://php.net/from 813 | ;from="john@doe.com" 814 | 815 | ; Define the User-Agent string. PHP's default setting for this is empty. 816 | ; http://php.net/user-agent 817 | ;user_agent="PHP" 818 | 819 | ; Default timeout for socket based streams (seconds) 820 | ; http://php.net/default-socket-timeout 821 | default_socket_timeout = 60 822 | 823 | ; If your scripts have to deal with files from Macintosh systems, 824 | ; or you are running on a Mac and need to deal with files from 825 | ; unix or win32 systems, setting this flag will cause PHP to 826 | ; automatically detect the EOL character in those files so that 827 | ; fgets() and file() will work regardless of the source of the file. 828 | ; http://php.net/auto-detect-line-endings 829 | ;auto_detect_line_endings = Off 830 | 831 | ;;;;;;;;;;;;;;;;;;;;;; 832 | ; Dynamic Extensions ; 833 | ;;;;;;;;;;;;;;;;;;;;;; 834 | 835 | ; If you wish to have an extension loaded automatically, use the following 836 | ; syntax: 837 | ; 838 | ; extension=modulename.extension 839 | ; 840 | ; For example, on Windows: 841 | ; 842 | ; extension=msql.dll 843 | ; 844 | ; ... or under UNIX: 845 | ; 846 | ; extension=msql.so 847 | ; 848 | ; ... or with a path: 849 | ; 850 | ; extension=/path/to/extension/msql.so 851 | ; 852 | ; If you only provide the name of the extension, PHP will look for it in its 853 | ; default extension directory. 854 | ; 855 | ; Windows Extensions 856 | ; Note that ODBC support is built in, so no dll is needed for it. 857 | ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) 858 | ; extension folders as well as the separate PECL DLL download (PHP 5). 859 | ; Be sure to appropriately set the extension_dir directive. 860 | ; 861 | ;extension=php_bz2.dll 862 | ;extension=php_curl.dll 863 | ;extension=php_fileinfo.dll 864 | ;extension=php_gd2.dll 865 | ;extension=php_gettext.dll 866 | ;extension=php_gmp.dll 867 | ;extension=php_intl.dll 868 | ;extension=php_imap.dll 869 | ;extension=php_interbase.dll 870 | ;extension=php_ldap.dll 871 | ;extension=php_mbstring.dll 872 | ;extension=php_exif.dll ; Must be after mbstring as it depends on it 873 | ;extension=php_mysql.dll 874 | ;extension=php_mysqli.dll 875 | ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client 876 | ;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client 877 | ;extension=php_openssl.dll 878 | ;extension=php_pdo_firebird.dll 879 | ;extension=php_pdo_mysql.dll 880 | ;extension=php_pdo_oci.dll 881 | ;extension=php_pdo_odbc.dll 882 | ;extension=php_pdo_pgsql.dll 883 | ;extension=php_pdo_sqlite.dll 884 | ;extension=php_pgsql.dll 885 | ;extension=php_pspell.dll 886 | ;extension=php_shmop.dll 887 | 888 | ; The MIBS data available in the PHP distribution must be installed. 889 | ; See http://www.php.net/manual/en/snmp.installation.php 890 | ;extension=php_snmp.dll 891 | 892 | ;extension=php_soap.dll 893 | ;extension=php_sockets.dll 894 | ;extension=php_sqlite3.dll 895 | ;extension=php_sybase_ct.dll 896 | ;extension=php_tidy.dll 897 | ;extension=php_xmlrpc.dll 898 | ;extension=php_xsl.dll 899 | 900 | ;;;;;;;;;;;;;;;;;;; 901 | ; Module Settings ; 902 | ;;;;;;;;;;;;;;;;;;; 903 | 904 | [CLI Server] 905 | ; Whether the CLI web server uses ANSI color coding in its terminal output. 906 | cli_server.color = On 907 | 908 | [Date] 909 | ; Defines the default timezone used by the date functions 910 | ; http://php.net/date.timezone 911 | ;date.timezone = 912 | 913 | ; http://php.net/date.default-latitude 914 | ;date.default_latitude = 31.7667 915 | 916 | ; http://php.net/date.default-longitude 917 | ;date.default_longitude = 35.2333 918 | 919 | ; http://php.net/date.sunrise-zenith 920 | ;date.sunrise_zenith = 90.583333 921 | 922 | ; http://php.net/date.sunset-zenith 923 | ;date.sunset_zenith = 90.583333 924 | 925 | [filter] 926 | ; http://php.net/filter.default 927 | ;filter.default = unsafe_raw 928 | 929 | ; http://php.net/filter.default-flags 930 | ;filter.default_flags = 931 | 932 | [iconv] 933 | ;iconv.input_encoding = ISO-8859-1 934 | ;iconv.internal_encoding = ISO-8859-1 935 | ;iconv.output_encoding = ISO-8859-1 936 | 937 | [intl] 938 | ;intl.default_locale = 939 | ; This directive allows you to produce PHP errors when some error 940 | ; happens within intl functions. The value is the level of the error produced. 941 | ; Default is 0, which does not produce any errors. 942 | ;intl.error_level = E_WARNING 943 | 944 | [sqlite] 945 | ; http://php.net/sqlite.assoc-case 946 | ;sqlite.assoc_case = 0 947 | 948 | [sqlite3] 949 | ;sqlite3.extension_dir = 950 | 951 | [Pcre] 952 | ;PCRE library backtracking limit. 953 | ; http://php.net/pcre.backtrack-limit 954 | ;pcre.backtrack_limit=100000 955 | 956 | ;PCRE library recursion limit. 957 | ;Please note that if you set this value to a high number you may consume all 958 | ;the available process stack and eventually crash PHP (due to reaching the 959 | ;stack size limit imposed by the Operating System). 960 | ; http://php.net/pcre.recursion-limit 961 | ;pcre.recursion_limit=100000 962 | 963 | [Pdo] 964 | ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" 965 | ; http://php.net/pdo-odbc.connection-pooling 966 | ;pdo_odbc.connection_pooling=strict 967 | 968 | ;pdo_odbc.db2_instance_name 969 | 970 | [Pdo_mysql] 971 | ; If mysqlnd is used: Number of cache slots for the internal result set cache 972 | ; http://php.net/pdo_mysql.cache_size 973 | pdo_mysql.cache_size = 2000 974 | 975 | ; Default socket name for local MySQL connects. If empty, uses the built-in 976 | ; MySQL defaults. 977 | ; http://php.net/pdo_mysql.default-socket 978 | pdo_mysql.default_socket= 979 | 980 | [Phar] 981 | ; http://php.net/phar.readonly 982 | ;phar.readonly = On 983 | 984 | ; http://php.net/phar.require-hash 985 | ;phar.require_hash = On 986 | 987 | ;phar.cache_list = 988 | 989 | [mail function] 990 | ; For Win32 only. 991 | ; http://php.net/smtp 992 | SMTP = localhost 993 | ; http://php.net/smtp-port 994 | smtp_port = 25 995 | 996 | ; For Win32 only. 997 | ; http://php.net/sendmail-from 998 | ;sendmail_from = me@example.com 999 | 1000 | ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 1001 | ; http://php.net/sendmail-path 1002 | ;sendmail_path = 1003 | 1004 | ; Force the addition of the specified parameters to be passed as extra parameters 1005 | ; to the sendmail binary. These parameters will always replace the value of 1006 | ; the 5th parameter to mail(). 1007 | ;mail.force_extra_parameters = 1008 | 1009 | ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename 1010 | mail.add_x_header = On 1011 | 1012 | ; The path to a log file that will log all mail() calls. Log entries include 1013 | ; the full path of the script, line number, To address and headers. 1014 | ;mail.log = 1015 | ; Log mail to syslog (Event Log on Windows). 1016 | ;mail.log = syslog 1017 | 1018 | [SQL] 1019 | ; http://php.net/sql.safe-mode 1020 | sql.safe_mode = Off 1021 | 1022 | [ODBC] 1023 | ; http://php.net/odbc.default-db 1024 | ;odbc.default_db = Not yet implemented 1025 | 1026 | ; http://php.net/odbc.default-user 1027 | ;odbc.default_user = Not yet implemented 1028 | 1029 | ; http://php.net/odbc.default-pw 1030 | ;odbc.default_pw = Not yet implemented 1031 | 1032 | ; Controls the ODBC cursor model. 1033 | ; Default: SQL_CURSOR_STATIC (default). 1034 | ;odbc.default_cursortype 1035 | 1036 | ; Allow or prevent persistent links. 1037 | ; http://php.net/odbc.allow-persistent 1038 | odbc.allow_persistent = On 1039 | 1040 | ; Check that a connection is still valid before reuse. 1041 | ; http://php.net/odbc.check-persistent 1042 | odbc.check_persistent = On 1043 | 1044 | ; Maximum number of persistent links. -1 means no limit. 1045 | ; http://php.net/odbc.max-persistent 1046 | odbc.max_persistent = -1 1047 | 1048 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1049 | ; http://php.net/odbc.max-links 1050 | odbc.max_links = -1 1051 | 1052 | ; Handling of LONG fields. Returns number of bytes to variables. 0 means 1053 | ; passthru. 1054 | ; http://php.net/odbc.defaultlrl 1055 | odbc.defaultlrl = 4096 1056 | 1057 | ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. 1058 | ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation 1059 | ; of odbc.defaultlrl and odbc.defaultbinmode 1060 | ; http://php.net/odbc.defaultbinmode 1061 | odbc.defaultbinmode = 1 1062 | 1063 | ;birdstep.max_links = -1 1064 | 1065 | [Interbase] 1066 | ; Allow or prevent persistent links. 1067 | ibase.allow_persistent = 1 1068 | 1069 | ; Maximum number of persistent links. -1 means no limit. 1070 | ibase.max_persistent = -1 1071 | 1072 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1073 | ibase.max_links = -1 1074 | 1075 | ; Default database name for ibase_connect(). 1076 | ;ibase.default_db = 1077 | 1078 | ; Default username for ibase_connect(). 1079 | ;ibase.default_user = 1080 | 1081 | ; Default password for ibase_connect(). 1082 | ;ibase.default_password = 1083 | 1084 | ; Default charset for ibase_connect(). 1085 | ;ibase.default_charset = 1086 | 1087 | ; Default timestamp format. 1088 | ibase.timestampformat = "%Y-%m-%d %H:%M:%S" 1089 | 1090 | ; Default date format. 1091 | ibase.dateformat = "%Y-%m-%d" 1092 | 1093 | ; Default time format. 1094 | ibase.timeformat = "%H:%M:%S" 1095 | 1096 | [MySQL] 1097 | ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements 1098 | ; http://php.net/mysql.allow_local_infile 1099 | mysql.allow_local_infile = On 1100 | 1101 | ; Allow or prevent persistent links. 1102 | ; http://php.net/mysql.allow-persistent 1103 | mysql.allow_persistent = On 1104 | 1105 | ; If mysqlnd is used: Number of cache slots for the internal result set cache 1106 | ; http://php.net/mysql.cache_size 1107 | mysql.cache_size = 2000 1108 | 1109 | ; Maximum number of persistent links. -1 means no limit. 1110 | ; http://php.net/mysql.max-persistent 1111 | mysql.max_persistent = -1 1112 | 1113 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1114 | ; http://php.net/mysql.max-links 1115 | mysql.max_links = -1 1116 | 1117 | ; Default port number for mysql_connect(). If unset, mysql_connect() will use 1118 | ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the 1119 | ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look 1120 | ; at MYSQL_PORT. 1121 | ; http://php.net/mysql.default-port 1122 | mysql.default_port = <%= defined?(ENV['OPENSHIFT_MYSQL_DB_PORT']) ? ENV['OPENSHIFT_MYSQL_DB_PORT'] : '' %> 1123 | 1124 | ; Default socket name for local MySQL connects. If empty, uses the built-in 1125 | ; MySQL defaults. 1126 | ; http://php.net/mysql.default-socket 1127 | mysql.default_socket = <%= defined?(ENV['OPENSHIFT_MYSQL_DB_SOCKET']) ? ENV['OPENSHIFT_MYSQL_DB_SOCKET'] : '' %> 1128 | 1129 | ; Default host for mysql_connect() (doesn't apply in safe mode). 1130 | ; http://php.net/mysql.default-host 1131 | mysql.default_host = <%= defined?(ENV['OPENSHIFT_MYSQL_DB_HOST']) ? ENV['OPENSHIFT_MYSQL_DB_HOST'] : '' %> 1132 | 1133 | ; Default user for mysql_connect() (doesn't apply in safe mode). 1134 | ; http://php.net/mysql.default-user 1135 | mysql.default_user = <%= defined?(ENV['OPENSHIFT_MYSQL_DB_USERNAME']) ? ENV['OPENSHIFT_MYSQL_DB_USERNAME'] : '' %> 1136 | 1137 | ; Default password for mysql_connect() (doesn't apply in safe mode). 1138 | ; Note that this is generally a *bad* idea to store passwords in this file. 1139 | ; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") 1140 | ; and reveal this password! And of course, any users with read access to this 1141 | ; file will be able to reveal the password as well. 1142 | ; http://php.net/mysql.default-password 1143 | mysql.default_password = <%= defined?(ENV['OPENSHIFT_MYSQL_DB_PASSWORD']) ? ENV['OPENSHIFT_MYSQL_DB_PASSWORD'] : '' %> 1144 | 1145 | ; Maximum time (in seconds) for connect timeout. -1 means no limit 1146 | ; http://php.net/mysql.connect-timeout 1147 | mysql.connect_timeout = 60 1148 | 1149 | ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and 1150 | ; SQL-Errors will be displayed. 1151 | ; http://php.net/mysql.trace-mode 1152 | mysql.trace_mode = Off 1153 | 1154 | [MySQLi] 1155 | 1156 | ; Maximum number of persistent links. -1 means no limit. 1157 | ; http://php.net/mysqli.max-persistent 1158 | mysqli.max_persistent = -1 1159 | 1160 | ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements 1161 | ; http://php.net/mysqli.allow_local_infile 1162 | ;mysqli.allow_local_infile = On 1163 | 1164 | ; Allow or prevent persistent links. 1165 | ; http://php.net/mysqli.allow-persistent 1166 | mysqli.allow_persistent = On 1167 | 1168 | ; Maximum number of links. -1 means no limit. 1169 | ; http://php.net/mysqli.max-links 1170 | mysqli.max_links = -1 1171 | 1172 | ; If mysqlnd is used: Number of cache slots for the internal result set cache 1173 | ; http://php.net/mysqli.cache_size 1174 | mysqli.cache_size = 2000 1175 | 1176 | ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use 1177 | ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the 1178 | ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look 1179 | ; at MYSQL_PORT. 1180 | ; http://php.net/mysqli.default-port 1181 | mysqli.default_port = 3306 1182 | 1183 | ; Default socket name for local MySQL connects. If empty, uses the built-in 1184 | ; MySQL defaults. 1185 | ; http://php.net/mysqli.default-socket 1186 | mysqli.default_socket = 1187 | 1188 | ; Default host for mysql_connect() (doesn't apply in safe mode). 1189 | ; http://php.net/mysqli.default-host 1190 | mysqli.default_host = 1191 | 1192 | ; Default user for mysql_connect() (doesn't apply in safe mode). 1193 | ; http://php.net/mysqli.default-user 1194 | mysqli.default_user = 1195 | 1196 | ; Default password for mysqli_connect() (doesn't apply in safe mode). 1197 | ; Note that this is generally a *bad* idea to store passwords in this file. 1198 | ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") 1199 | ; and reveal this password! And of course, any users with read access to this 1200 | ; file will be able to reveal the password as well. 1201 | ; http://php.net/mysqli.default-pw 1202 | mysqli.default_pw = 1203 | 1204 | ; Allow or prevent reconnect 1205 | mysqli.reconnect = Off 1206 | 1207 | [mysqlnd] 1208 | ; Enable / Disable collection of general statistics by mysqlnd which can be 1209 | ; used to tune and monitor MySQL operations. 1210 | ; http://php.net/mysqlnd.collect_statistics 1211 | mysqlnd.collect_statistics = On 1212 | 1213 | ; Enable / Disable collection of memory usage statistics by mysqlnd which can be 1214 | ; used to tune and monitor MySQL operations. 1215 | ; http://php.net/mysqlnd.collect_memory_statistics 1216 | mysqlnd.collect_memory_statistics = Off 1217 | 1218 | ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. 1219 | ; http://php.net/mysqlnd.net_cmd_buffer_size 1220 | ;mysqlnd.net_cmd_buffer_size = 2048 1221 | 1222 | ; Size of a pre-allocated buffer used for reading data sent by the server in 1223 | ; bytes. 1224 | ; http://php.net/mysqlnd.net_read_buffer_size 1225 | ;mysqlnd.net_read_buffer_size = 32768 1226 | 1227 | [OCI8] 1228 | 1229 | ; Connection: Enables privileged connections using external 1230 | ; credentials (OCI_SYSOPER, OCI_SYSDBA) 1231 | ; http://php.net/oci8.privileged-connect 1232 | ;oci8.privileged_connect = Off 1233 | 1234 | ; Connection: The maximum number of persistent OCI8 connections per 1235 | ; process. Using -1 means no limit. 1236 | ; http://php.net/oci8.max-persistent 1237 | ;oci8.max_persistent = -1 1238 | 1239 | ; Connection: The maximum number of seconds a process is allowed to 1240 | ; maintain an idle persistent connection. Using -1 means idle 1241 | ; persistent connections will be maintained forever. 1242 | ; http://php.net/oci8.persistent-timeout 1243 | ;oci8.persistent_timeout = -1 1244 | 1245 | ; Connection: The number of seconds that must pass before issuing a 1246 | ; ping during oci_pconnect() to check the connection validity. When 1247 | ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables 1248 | ; pings completely. 1249 | ; http://php.net/oci8.ping-interval 1250 | ;oci8.ping_interval = 60 1251 | 1252 | ; Connection: Set this to a user chosen connection class to be used 1253 | ; for all pooled server requests with Oracle 11g Database Resident 1254 | ; Connection Pooling (DRCP). To use DRCP, this value should be set to 1255 | ; the same string for all web servers running the same application, 1256 | ; the database pool must be configured, and the connection string must 1257 | ; specify to use a pooled server. 1258 | ;oci8.connection_class = 1259 | 1260 | ; High Availability: Using On lets PHP receive Fast Application 1261 | ; Notification (FAN) events generated when a database node fails. The 1262 | ; database must also be configured to post FAN events. 1263 | ;oci8.events = Off 1264 | 1265 | ; Tuning: This option enables statement caching, and specifies how 1266 | ; many statements to cache. Using 0 disables statement caching. 1267 | ; http://php.net/oci8.statement-cache-size 1268 | ;oci8.statement_cache_size = 20 1269 | 1270 | ; Tuning: Enables statement prefetching and sets the default number of 1271 | ; rows that will be fetched automatically after statement execution. 1272 | ; http://php.net/oci8.default-prefetch 1273 | ;oci8.default_prefetch = 100 1274 | 1275 | ; Compatibility. Using On means oci_close() will not close 1276 | ; oci_connect() and oci_new_connect() connections. 1277 | ; http://php.net/oci8.old-oci-close-semantics 1278 | ;oci8.old_oci_close_semantics = Off 1279 | 1280 | [PostgreSQL] 1281 | ; Allow or prevent persistent links. 1282 | ; http://php.net/pgsql.allow-persistent 1283 | pgsql.allow_persistent = On 1284 | 1285 | ; Detect broken persistent links always with pg_pconnect(). 1286 | ; Auto reset feature requires a little overheads. 1287 | ; http://php.net/pgsql.auto-reset-persistent 1288 | pgsql.auto_reset_persistent = Off 1289 | 1290 | ; Maximum number of persistent links. -1 means no limit. 1291 | ; http://php.net/pgsql.max-persistent 1292 | pgsql.max_persistent = -1 1293 | 1294 | ; Maximum number of links (persistent+non persistent). -1 means no limit. 1295 | ; http://php.net/pgsql.max-links 1296 | pgsql.max_links = -1 1297 | 1298 | ; Ignore PostgreSQL backends Notice message or not. 1299 | ; Notice message logging require a little overheads. 1300 | ; http://php.net/pgsql.ignore-notice 1301 | pgsql.ignore_notice = 0 1302 | 1303 | ; Log PostgreSQL backends Notice message or not. 1304 | ; Unless pgsql.ignore_notice=0, module cannot log notice message. 1305 | ; http://php.net/pgsql.log-notice 1306 | pgsql.log_notice = 0 1307 | 1308 | [Sybase-CT] 1309 | ; Allow or prevent persistent links. 1310 | ; http://php.net/sybct.allow-persistent 1311 | sybct.allow_persistent = On 1312 | 1313 | ; Maximum number of persistent links. -1 means no limit. 1314 | ; http://php.net/sybct.max-persistent 1315 | sybct.max_persistent = -1 1316 | 1317 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1318 | ; http://php.net/sybct.max-links 1319 | sybct.max_links = -1 1320 | 1321 | ; Minimum server message severity to display. 1322 | ; http://php.net/sybct.min-server-severity 1323 | sybct.min_server_severity = 10 1324 | 1325 | ; Minimum client message severity to display. 1326 | ; http://php.net/sybct.min-client-severity 1327 | sybct.min_client_severity = 10 1328 | 1329 | ; Set per-context timeout 1330 | ; http://php.net/sybct.timeout 1331 | ;sybct.timeout= 1332 | 1333 | ;sybct.packet_size 1334 | 1335 | ; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. 1336 | ; Default: one minute 1337 | ;sybct.login_timeout= 1338 | 1339 | ; The name of the host you claim to be connecting from, for display by sp_who. 1340 | ; Default: none 1341 | ;sybct.hostname= 1342 | 1343 | ; Allows you to define how often deadlocks are to be retried. -1 means "forever". 1344 | ; Default: 0 1345 | ;sybct.deadlock_retry_count= 1346 | 1347 | [bcmath] 1348 | ; Number of decimal digits for all bcmath functions. 1349 | ; http://php.net/bcmath.scale 1350 | bcmath.scale = 0 1351 | 1352 | [browscap] 1353 | ; http://php.net/browscap 1354 | ;browscap = extra/browscap.ini 1355 | 1356 | [Session] 1357 | ; Handler used to store/retrieve data. 1358 | ; http://php.net/session.save-handler 1359 | session.save_handler = files 1360 | 1361 | ; Argument passed to save_handler. In the case of files, this is the path 1362 | ; where data files are stored. Note: Windows users have to change this 1363 | ; variable in order to use PHP's session functions. 1364 | ; 1365 | ; The path can be defined as: 1366 | ; 1367 | ; session.save_path = "N;/path" 1368 | ; 1369 | ; where N is an integer. Instead of storing all the session files in 1370 | ; /path, what this will do is use subdirectories N-levels deep, and 1371 | ; store the session data in those directories. This is useful if you 1372 | ; or your OS have problems with lots of files in one directory, and is 1373 | ; a more efficient layout for servers that handle lots of sessions. 1374 | ; 1375 | ; NOTE 1: PHP will not create this directory structure automatically. 1376 | ; You can use the script in the ext/session dir for that purpose. 1377 | ; NOTE 2: See the section on garbage collection below if you choose to 1378 | ; use subdirectories for session storage 1379 | ; 1380 | ; The file storage module creates files using mode 600 by default. 1381 | ; You can change that by using 1382 | ; 1383 | ; session.save_path = "N;MODE;/path" 1384 | ; 1385 | ; where MODE is the octal representation of the mode. Note that this 1386 | ; does not overwrite the process's umask. 1387 | ; http://php.net/session.save-path 1388 | ;session.save_path = "<%= ENV['OPENSHIFT_TMP_DIR'] %>" 1389 | 1390 | ; Whether to use strict session mode. 1391 | ; Strict session mode does not accept uninitialized session ID and regenerate 1392 | ; session ID if browser sends uninitialized session ID. Strict mode protects 1393 | ; applications from session fixation via session adoption vulnerability. It is 1394 | ; disabled by default for maximum compatibility, but enabling it is encouraged. 1395 | ; https://wiki.php.net/rfc/strict_sessions 1396 | session.use_strict_mode = 0 1397 | 1398 | ; Whether to use cookies. 1399 | ; http://php.net/session.use-cookies 1400 | session.use_cookies = 1 1401 | 1402 | ; http://php.net/session.cookie-secure 1403 | ;session.cookie_secure = 1404 | 1405 | ; This option forces PHP to fetch and use a cookie for storing and maintaining 1406 | ; the session id. We encourage this operation as it's very helpful in combating 1407 | ; session hijacking when not specifying and managing your own session id. It is 1408 | ; not the end all be all of session hijacking defense, but it's a good start. 1409 | ; http://php.net/session.use-only-cookies 1410 | session.use_only_cookies = 1 1411 | 1412 | ; Name of the session (used as cookie name). 1413 | ; http://php.net/session.name 1414 | session.name = PHPSESSID 1415 | 1416 | ; Initialize session on request startup. 1417 | ; http://php.net/session.auto-start 1418 | session.auto_start = 0 1419 | 1420 | ; Lifetime in seconds of cookie or, if 0, until browser is restarted. 1421 | ; http://php.net/session.cookie-lifetime 1422 | session.cookie_lifetime = 0 1423 | 1424 | ; The path for which the cookie is valid. 1425 | ; http://php.net/session.cookie-path 1426 | session.cookie_path = / 1427 | 1428 | ; The domain for which the cookie is valid. 1429 | ; http://php.net/session.cookie-domain 1430 | session.cookie_domain = 1431 | 1432 | ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. 1433 | ; http://php.net/session.cookie-httponly 1434 | session.cookie_httponly = 1435 | 1436 | ; Handler used to serialize data. php is the standard serializer of PHP. 1437 | ; http://php.net/session.serialize-handler 1438 | session.serialize_handler = php 1439 | 1440 | ; Defines the probability that the 'garbage collection' process is started 1441 | ; on every session initialization. The probability is calculated by using 1442 | ; gc_probability/gc_divisor. Where session.gc_probability is the numerator 1443 | ; and gc_divisor is the denominator in the equation. Setting this value to 1 1444 | ; when the session.gc_divisor value is 100 will give you approximately a 1% chance 1445 | ; the gc will run on any give request. 1446 | ; Default Value: 1 1447 | ; Development Value: 1 1448 | ; Production Value: 1 1449 | ; http://php.net/session.gc-probability 1450 | session.gc_probability = 1 1451 | 1452 | ; Defines the probability that the 'garbage collection' process is started on every 1453 | ; session initialization. The probability is calculated by using the following equation: 1454 | ; gc_probability/gc_divisor. Where session.gc_probability is the numerator and 1455 | ; session.gc_divisor is the denominator in the equation. Setting this value to 1 1456 | ; when the session.gc_divisor value is 100 will give you approximately a 1% chance 1457 | ; the gc will run on any give request. Increasing this value to 1000 will give you 1458 | ; a 0.1% chance the gc will run on any give request. For high volume production servers, 1459 | ; this is a more efficient approach. 1460 | ; Default Value: 100 1461 | ; Development Value: 1000 1462 | ; Production Value: 1000 1463 | ; http://php.net/session.gc-divisor 1464 | session.gc_divisor = 1000 1465 | 1466 | ; After this number of seconds, stored data will be seen as 'garbage' and 1467 | ; cleaned up by the garbage collection process. 1468 | ; http://php.net/session.gc-maxlifetime 1469 | session.gc_maxlifetime = 1440 1470 | 1471 | ; NOTE: If you are using the subdirectory option for storing session files 1472 | ; (see session.save_path above), then garbage collection does *not* 1473 | ; happen automatically. You will need to do your own garbage 1474 | ; collection through a shell script, cron entry, or some other method. 1475 | ; For example, the following script would is the equivalent of 1476 | ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): 1477 | ; find /path/to/sessions -cmin +24 -type f | xargs rm 1478 | 1479 | ; Check HTTP Referer to invalidate externally stored URLs containing ids. 1480 | ; HTTP_REFERER has to contain this substring for the session to be 1481 | ; considered as valid. 1482 | ; http://php.net/session.referer-check 1483 | session.referer_check = 1484 | 1485 | ; How many bytes to read from the file. 1486 | ; http://php.net/session.entropy-length 1487 | ;session.entropy_length = 32 1488 | 1489 | ; Specified here to create the session id. 1490 | ; http://php.net/session.entropy-file 1491 | ; Defaults to /dev/urandom 1492 | ; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom 1493 | ; If neither are found at compile time, the default is no entropy file. 1494 | ; On windows, setting the entropy_length setting will activate the 1495 | ; Windows random source (using the CryptoAPI) 1496 | ;session.entropy_file = /dev/urandom 1497 | 1498 | ; Set to {nocache,private,public,} to determine HTTP caching aspects 1499 | ; or leave this empty to avoid sending anti-caching headers. 1500 | ; http://php.net/session.cache-limiter 1501 | session.cache_limiter = nocache 1502 | 1503 | ; Document expires after n minutes. 1504 | ; http://php.net/session.cache-expire 1505 | session.cache_expire = 180 1506 | 1507 | ; trans sid support is disabled by default. 1508 | ; Use of trans sid may risk your users security. 1509 | ; Use this option with caution. 1510 | ; - User may send URL contains active session ID 1511 | ; to other person via. email/irc/etc. 1512 | ; - URL that contains active session ID may be stored 1513 | ; in publicly accessible computer. 1514 | ; - User may access your site with the same session ID 1515 | ; always using URL stored in browser's history or bookmarks. 1516 | ; http://php.net/session.use-trans-sid 1517 | session.use_trans_sid = 0 1518 | 1519 | ; Select a hash function for use in generating session ids. 1520 | ; Possible Values 1521 | ; 0 (MD5 128 bits) 1522 | ; 1 (SHA-1 160 bits) 1523 | ; This option may also be set to the name of any hash function supported by 1524 | ; the hash extension. A list of available hashes is returned by the hash_algos() 1525 | ; function. 1526 | ; http://php.net/session.hash-function 1527 | session.hash_function = 0 1528 | 1529 | ; Define how many bits are stored in each character when converting 1530 | ; the binary hash data to something readable. 1531 | ; Possible values: 1532 | ; 4 (4 bits: 0-9, a-f) 1533 | ; 5 (5 bits: 0-9, a-v) 1534 | ; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") 1535 | ; Default Value: 4 1536 | ; Development Value: 5 1537 | ; Production Value: 5 1538 | ; http://php.net/session.hash-bits-per-character 1539 | session.hash_bits_per_character = 5 1540 | 1541 | ; The URL rewriter will look for URLs in a defined set of HTML tags. 1542 | ; form/fieldset are special; if you include them here, the rewriter will 1543 | ; add a hidden field with the info which is otherwise appended 1544 | ; to URLs. If you want XHTML conformity, remove the form entry. 1545 | ; Note that all valid entries require a "=", even if no value follows. 1546 | ; Default Value: "a=href,area=href,frame=src,form=,fieldset=" 1547 | ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" 1548 | ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" 1549 | ; http://php.net/url-rewriter.tags 1550 | url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" 1551 | 1552 | ; Enable upload progress tracking in $_SESSION 1553 | ; Default Value: On 1554 | ; Development Value: On 1555 | ; Production Value: On 1556 | ; http://php.net/session.upload-progress.enabled 1557 | ;session.upload_progress.enabled = On 1558 | 1559 | ; Cleanup the progress information as soon as all POST data has been read 1560 | ; (i.e. upload completed). 1561 | ; Default Value: On 1562 | ; Development Value: On 1563 | ; Production Value: On 1564 | ; http://php.net/session.upload-progress.cleanup 1565 | ;session.upload_progress.cleanup = On 1566 | 1567 | ; A prefix used for the upload progress key in $_SESSION 1568 | ; Default Value: "upload_progress_" 1569 | ; Development Value: "upload_progress_" 1570 | ; Production Value: "upload_progress_" 1571 | ; http://php.net/session.upload-progress.prefix 1572 | ;session.upload_progress.prefix = "upload_progress_" 1573 | 1574 | ; The index name (concatenated with the prefix) in $_SESSION 1575 | ; containing the upload progress information 1576 | ; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" 1577 | ; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" 1578 | ; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" 1579 | ; http://php.net/session.upload-progress.name 1580 | ;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" 1581 | 1582 | ; How frequently the upload progress should be updated. 1583 | ; Given either in percentages (per-file), or in bytes 1584 | ; Default Value: "1%" 1585 | ; Development Value: "1%" 1586 | ; Production Value: "1%" 1587 | ; http://php.net/session.upload-progress.freq 1588 | ;session.upload_progress.freq = "1%" 1589 | 1590 | ; The minimum delay between updates, in seconds 1591 | ; Default Value: 1 1592 | ; Development Value: 1 1593 | ; Production Value: 1 1594 | ; http://php.net/session.upload-progress.min-freq 1595 | ;session.upload_progress.min_freq = "1" 1596 | 1597 | [MSSQL] 1598 | ; Allow or prevent persistent links. 1599 | mssql.allow_persistent = On 1600 | 1601 | ; Maximum number of persistent links. -1 means no limit. 1602 | mssql.max_persistent = -1 1603 | 1604 | ; Maximum number of links (persistent+non persistent). -1 means no limit. 1605 | mssql.max_links = -1 1606 | 1607 | ; Minimum error severity to display. 1608 | mssql.min_error_severity = 10 1609 | 1610 | ; Minimum message severity to display. 1611 | mssql.min_message_severity = 10 1612 | 1613 | ; Compatibility mode with old versions of PHP 3.0. 1614 | mssql.compatibility_mode = Off 1615 | 1616 | ; Connect timeout 1617 | ;mssql.connect_timeout = 5 1618 | 1619 | ; Query timeout 1620 | ;mssql.timeout = 60 1621 | 1622 | ; Valid range 0 - 2147483647. Default = 4096. 1623 | ;mssql.textlimit = 4096 1624 | 1625 | ; Valid range 0 - 2147483647. Default = 4096. 1626 | ;mssql.textsize = 4096 1627 | 1628 | ; Limits the number of records in each batch. 0 = all records in one batch. 1629 | ;mssql.batchsize = 0 1630 | 1631 | ; Specify how datetime and datetim4 columns are returned 1632 | ; On => Returns data converted to SQL server settings 1633 | ; Off => Returns values as YYYY-MM-DD hh:mm:ss 1634 | ;mssql.datetimeconvert = On 1635 | 1636 | ; Use NT authentication when connecting to the server 1637 | mssql.secure_connection = Off 1638 | 1639 | ; Specify max number of processes. -1 = library default 1640 | ; msdlib defaults to 25 1641 | ; FreeTDS defaults to 4096 1642 | ;mssql.max_procs = -1 1643 | 1644 | ; Specify client character set. 1645 | ; If empty or not set the client charset from freetds.conf is used 1646 | ; This is only used when compiled with FreeTDS 1647 | ;mssql.charset = "ISO-8859-1" 1648 | 1649 | [Assertion] 1650 | ; Assert(expr); active by default. 1651 | ; http://php.net/assert.active 1652 | ;assert.active = On 1653 | 1654 | ; Issue a PHP warning for each failed assertion. 1655 | ; http://php.net/assert.warning 1656 | ;assert.warning = On 1657 | 1658 | ; Don't bail out by default. 1659 | ; http://php.net/assert.bail 1660 | ;assert.bail = Off 1661 | 1662 | ; User-function to be called if an assertion fails. 1663 | ; http://php.net/assert.callback 1664 | ;assert.callback = 0 1665 | 1666 | ; Eval the expression with current error_reporting(). Set to true if you want 1667 | ; error_reporting(0) around the eval(). 1668 | ; http://php.net/assert.quiet-eval 1669 | ;assert.quiet_eval = 0 1670 | 1671 | [COM] 1672 | ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs 1673 | ; http://php.net/com.typelib-file 1674 | ;com.typelib_file = 1675 | 1676 | ; allow Distributed-COM calls 1677 | ; http://php.net/com.allow-dcom 1678 | ;com.allow_dcom = true 1679 | 1680 | ; autoregister constants of a components typlib on com_load() 1681 | ; http://php.net/com.autoregister-typelib 1682 | ;com.autoregister_typelib = true 1683 | 1684 | ; register constants casesensitive 1685 | ; http://php.net/com.autoregister-casesensitive 1686 | ;com.autoregister_casesensitive = false 1687 | 1688 | ; show warnings on duplicate constant registrations 1689 | ; http://php.net/com.autoregister-verbose 1690 | ;com.autoregister_verbose = true 1691 | 1692 | ; The default character set code-page to use when passing strings to and from COM objects. 1693 | ; Default: system ANSI code page 1694 | ;com.code_page= 1695 | 1696 | [mbstring] 1697 | ; language for internal character representation. 1698 | ; http://php.net/mbstring.language 1699 | ;mbstring.language = Japanese 1700 | 1701 | ; internal/script encoding. 1702 | ; Some encoding cannot work as internal encoding. 1703 | ; (e.g. SJIS, BIG5, ISO-2022-*) 1704 | ; http://php.net/mbstring.internal-encoding 1705 | ;mbstring.internal_encoding = UTF-8 1706 | 1707 | ; http input encoding. 1708 | ; http://php.net/mbstring.http-input 1709 | ;mbstring.http_input = UTF-8 1710 | 1711 | ; http output encoding. mb_output_handler must be 1712 | ; registered as output buffer to function 1713 | ; http://php.net/mbstring.http-output 1714 | ;mbstring.http_output = pass 1715 | 1716 | ; enable automatic encoding translation according to 1717 | ; mbstring.internal_encoding setting. Input chars are 1718 | ; converted to internal encoding by setting this to On. 1719 | ; Note: Do _not_ use automatic encoding translation for 1720 | ; portable libs/applications. 1721 | ; http://php.net/mbstring.encoding-translation 1722 | ;mbstring.encoding_translation = Off 1723 | 1724 | ; automatic encoding detection order. 1725 | ; auto means 1726 | ; http://php.net/mbstring.detect-order 1727 | ;mbstring.detect_order = auto 1728 | 1729 | ; substitute_character used when character cannot be converted 1730 | ; one from another 1731 | ; http://php.net/mbstring.substitute-character 1732 | ;mbstring.substitute_character = none 1733 | 1734 | ; overload(replace) single byte functions by mbstring functions. 1735 | ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), 1736 | ; etc. Possible values are 0,1,2,4 or combination of them. 1737 | ; For example, 7 for overload everything. 1738 | ; 0: No overload 1739 | ; 1: Overload mail() function 1740 | ; 2: Overload str*() functions 1741 | ; 4: Overload ereg*() functions 1742 | ; http://php.net/mbstring.func-overload 1743 | ;mbstring.func_overload = 0 1744 | 1745 | ; enable strict encoding detection. 1746 | ;mbstring.strict_detection = On 1747 | 1748 | ; This directive specifies the regex pattern of content types for which mb_output_handler() 1749 | ; is activated. 1750 | ; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) 1751 | ;mbstring.http_output_conv_mimetype= 1752 | 1753 | [gd] 1754 | ; Tell the jpeg decode to ignore warnings and try to create 1755 | ; a gd image. The warning will then be displayed as notices 1756 | ; disabled by default 1757 | ; http://php.net/gd.jpeg-ignore-warning 1758 | ;gd.jpeg_ignore_warning = 0 1759 | 1760 | [exif] 1761 | ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. 1762 | ; With mbstring support this will automatically be converted into the encoding 1763 | ; given by corresponding encode setting. When empty mbstring.internal_encoding 1764 | ; is used. For the decode settings you can distinguish between motorola and 1765 | ; intel byte order. A decode setting cannot be empty. 1766 | ; http://php.net/exif.encode-unicode 1767 | ;exif.encode_unicode = ISO-8859-15 1768 | 1769 | ; http://php.net/exif.decode-unicode-motorola 1770 | ;exif.decode_unicode_motorola = UCS-2BE 1771 | 1772 | ; http://php.net/exif.decode-unicode-intel 1773 | ;exif.decode_unicode_intel = UCS-2LE 1774 | 1775 | ; http://php.net/exif.encode-jis 1776 | ;exif.encode_jis = 1777 | 1778 | ; http://php.net/exif.decode-jis-motorola 1779 | ;exif.decode_jis_motorola = JIS 1780 | 1781 | ; http://php.net/exif.decode-jis-intel 1782 | ;exif.decode_jis_intel = JIS 1783 | 1784 | [Tidy] 1785 | ; The path to a default tidy configuration file to use when using tidy 1786 | ; http://php.net/tidy.default-config 1787 | ;tidy.default_config = /usr/local/lib/php/default.tcfg 1788 | 1789 | ; Should tidy clean and repair output automatically? 1790 | ; WARNING: Do not use this option if you are generating non-html content 1791 | ; such as dynamic images 1792 | ; http://php.net/tidy.clean-output 1793 | tidy.clean_output = Off 1794 | 1795 | [soap] 1796 | ; Enables or disables WSDL caching feature. 1797 | ; http://php.net/soap.wsdl-cache-enabled 1798 | soap.wsdl_cache_enabled=1 1799 | 1800 | ; Sets the directory name where SOAP extension will put cache files. 1801 | ; http://php.net/soap.wsdl-cache-dir 1802 | soap.wsdl_cache_dir="/tmp" 1803 | 1804 | ; (time to live) Sets the number of second while cached file will be used 1805 | ; instead of original one. 1806 | ; http://php.net/soap.wsdl-cache-ttl 1807 | soap.wsdl_cache_ttl=86400 1808 | 1809 | ; Sets the size of the cache limit. (Max. number of WSDL files to cache) 1810 | soap.wsdl_cache_limit = 5 1811 | 1812 | [sysvshm] 1813 | ; A default size of the shared memory segment 1814 | ;sysvshm.init_mem = 10000 1815 | 1816 | [ldap] 1817 | ; Sets the maximum number of open links or -1 for unlimited. 1818 | ldap.max_links = -1 1819 | 1820 | [mcrypt] 1821 | ; For more information about mcrypt settings see http://php.net/mcrypt-module-open 1822 | 1823 | ; Directory where to load mcrypt algorithms 1824 | ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) 1825 | ;mcrypt.algorithms_dir= 1826 | 1827 | ; Directory where to load mcrypt modes 1828 | ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) 1829 | ;mcrypt.modes_dir= 1830 | 1831 | [dba] 1832 | ;dba.default_handler= 1833 | 1834 | [opcache] 1835 | ; Load the opcache extension 1836 | zend_extension=<%= ENV['OPENSHIFT_PHP_EXTENSION_DIR'] %>/opcache.so 1837 | 1838 | ; Determines if Zend OPCache is enabled 1839 | ;opcache.enable=0 1840 | 1841 | ; Determines if Zend OPCache is enabled for the CLI version of PHP 1842 | ;opcache.enable_cli=0 1843 | 1844 | ; The OPcache shared memory storage size. 1845 | ;opcache.memory_consumption=64 1846 | 1847 | ; The amount of memory for interned strings in Mbytes. 1848 | ;opcache.interned_strings_buffer=4 1849 | 1850 | ; The maximum number of keys (scripts) in the OPcache hash table. 1851 | ; Only numbers between 200 and 100000 are allowed. 1852 | ;opcache.max_accelerated_files=2000 1853 | 1854 | ; The maximum percentage of "wasted" memory until a restart is scheduled. 1855 | ;opcache.max_wasted_percentage=5 1856 | 1857 | ; When this directive is enabled, the OPcache appends the current working 1858 | ; directory to the script key, thus eliminating possible collisions between 1859 | ; files with the same name (basename). Disabling the directive improves 1860 | ; performance, but may break existing applications. 1861 | ;opcache.use_cwd=1 1862 | 1863 | ; When disabled, you must reset the OPcache manually or restart the 1864 | ; webserver for changes to the filesystem to take effect. 1865 | ;opcache.validate_timestamps=1 1866 | 1867 | ; How often (in seconds) to check file timestamps for changes to the shared 1868 | ; memory storage allocation. ("1" means validate once per second, but only 1869 | ; once per request. "0" means always validate) 1870 | ;opcache.revalidate_freq=2 1871 | 1872 | ; Enables or disables file search in include_path optimization 1873 | ;opcache.revalidate_path=0 1874 | 1875 | ; If disabled, all PHPDoc comments are dropped from the code to reduce the 1876 | ; size of the optimized code. 1877 | ;opcache.save_comments=1 1878 | 1879 | ; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments" 1880 | ; may be always stored (save_comments=1), but not loaded by applications 1881 | ; that don't need them anyway. 1882 | ;opcache.load_comments=1 1883 | 1884 | ; If enabled, a fast shutdown sequence is used for the accelerated code 1885 | ;opcache.fast_shutdown=0 1886 | 1887 | ; Allow file existence override (file_exists, etc.) performance feature. 1888 | ;opcache.enable_file_override=0 1889 | 1890 | ; A bitmask, where each bit enables or disables the appropriate OPcache 1891 | ; passes 1892 | ;opcache.optimization_level=0xffffffff 1893 | 1894 | ;opcache.inherited_hack=1 1895 | ;opcache.dups_fix=0 1896 | 1897 | ; The location of the OPcache blacklist file (wildcards allowed). 1898 | ; Each OPcache blacklist file is a text file that holds the names of files 1899 | ; that should not be accelerated. The file format is to add each filename 1900 | ; to a new line. The filename may be a full path or just a file prefix 1901 | ; (i.e., /var/www/x blacklists all the files and directories in /var/www 1902 | ; that start with 'x'). Line starting with a ; are ignored (comments). 1903 | ;opcache.blacklist_filename= 1904 | 1905 | ; Allows exclusion of large files from being cached. By default all files 1906 | ; are cached. 1907 | ;opcache.max_file_size=0 1908 | 1909 | ; Check the cache checksum each N requests. 1910 | ; The default value of "0" means that the checks are disabled. 1911 | ;opcache.consistency_checks=0 1912 | 1913 | ; How long to wait (in seconds) for a scheduled restart to begin if the cache 1914 | ; is not being accessed. 1915 | ;opcache.force_restart_timeout=180 1916 | 1917 | ; OPcache error_log file name. Empty string assumes "stderr". 1918 | ;opcache.error_log= 1919 | 1920 | ; All OPcache errors go to the Web server log. 1921 | ; By default, only fatal errors (level 0) or errors (level 1) are logged. 1922 | ; You can also enable warnings (level 2), info messages (level 3) or 1923 | ; debug messages (level 4). 1924 | ;opcache.log_verbosity_level=1 1925 | 1926 | ; Preferred Shared Memory back-end. Leave empty and let the system decide. 1927 | ;opcache.preferred_memory_model= 1928 | 1929 | ; Protect the shared memory from unexpected writing during script execution. 1930 | ; Useful for internal debugging only. 1931 | ;opcache.protect_memory=0 1932 | 1933 | [curl] 1934 | ; A default value for the CURLOPT_CAINFO option. This is required to be an 1935 | ; absolute path. 1936 | ;curl.cainfo = 1937 | 1938 | ; Local Variables: 1939 | ; tab-width: 4 1940 | ; End: 1941 | --------------------------------------------------------------------------------