├── .dockerignore ├── .gitignore ├── .travis.yml ├── Dockerfile ├── LICENSE ├── README.md ├── bin └── magento2-start ├── conf ├── apache2 │ ├── apache2.conf │ └── site-available │ │ └── 000-default.conf ├── auth.json.tmpl ├── composer.json.tmpl ├── mtf │ ├── credentials.xml.tmpl │ ├── etc │ │ └── config.xml.tmpl │ └── phpunit.xml.tmpl └── php.ini └── docker-compose.travis.yml /.dockerignore: -------------------------------------------------------------------------------- 1 | docker-compose-test.yml 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # OS generated files # 2 | ###################### 3 | .DS_Store 4 | .DS_Store? 5 | ._* 6 | .Spotlight-V100 7 | .Trashes 8 | ehthumbs.db 9 | Thumbs.db 10 | 11 | # Custom files # 12 | ################ 13 | start-machine 14 | docker-compose.yml 15 | *.env 16 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: required 2 | services: 3 | - docker 4 | 5 | script: 6 | - docker-compose -f docker-compose.travis.yml build 7 | - docker-compose -f docker-compose.travis.yml run --rm -e $GITHUB_API_TOKEN -e $MAGE_ACCOUNT_PUBLIC_KEY -e $MAGE_ACCOUNT_PRIVATE_KEY magento2 magento 8 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:5.6-apache 2 | 3 | MAINTAINER Kassim Belghait 4 | 5 | #================================================ 6 | # Customize sources for apt-get 7 | #================================================ 8 | RUN echo "deb http://repo.mysql.com/apt/debian/ jessie mysql-5.6\n" > /etc/apt/sources.list.d/mysql.list 9 | RUN apt-key adv --keyserver pgp.mit.edu --recv-keys 5072E1F5 10 | 11 | #====================== 12 | # Install packages needed by php's extensions 13 | # PHP image already install following extensions: 14 | # - openssl, curl, zlib,recode,realine,mysqlnd 15 | #====================== 16 | RUN apt-get update \ 17 | && apt-get -qqy --no-install-recommends install \ 18 | git \ 19 | libmcrypt-dev \ 20 | libjpeg62-turbo-dev \ 21 | libpng12-dev \ 22 | libfreetype6-dev \ 23 | libxslt1-dev \ 24 | libicu-dev \ 25 | mysql-client \ 26 | libmysqlclient-dev \ 27 | && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ 28 | && docker-php-ext-configure zip --enable-zip \ 29 | && docker-php-ext-install mcrypt gd intl mbstring soap xsl zip pdo_mysql \ 30 | && curl -sS https://getcomposer.org/installer | php -- --filename=composer -- --install-dir=/usr/local/bin \ 31 | && rm -r /var/lib/apt/lists/* 32 | 33 | #Install gosu To run script as magento2 user 34 | RUN curl -o /usr/local/bin/gosu -fsSL "https://github.com/tianon/gosu/releases/download/1.7/gosu-$(dpkg --print-architecture)" \ 35 | && chmod +x /usr/local/bin/gosu 36 | 37 | # Get dockerize (used for waiting services) 38 | RUN curl -o dockerize-linux-amd64-v0.2.0.tar.gz -sSOL https://github.com/jwilder/dockerize/releases/download/v0.2.0/dockerize-linux-amd64-v0.2.0.tar.gz 39 | RUN tar -C /usr/local/bin -xzvf dockerize-linux-amd64-v0.2.0.tar.gz 40 | RUN chmod u+x /usr/local/bin/dockerize 41 | 42 | #=============== 43 | # PHP configuration 44 | #=============== 45 | ENV PHP_TIMEZONE Europe/Paris 46 | COPY conf/php.ini /usr/local/etc/php/ 47 | COPY conf/apache2/apache2.conf /etc/apache2/ 48 | COPY conf/apache2/site-available/000-default.conf /etc/apache2/site-available/ 49 | RUN echo "date.timezone = '$PHP_TIMEZONE'" >> /usr/local/etc/php/php.ini \ 50 | && ln -s /usr/local/bin/php /usr/bin/php 51 | 52 | #==================================== 53 | # Apache configuration 54 | # Active mod rewrite 55 | #==================================== 56 | RUN a2enmod rewrite 57 | 58 | #============================= 59 | # Create Magento2 user and put it in web server's group 60 | #============================ 61 | RUN adduser --disabled-password --gecos "" magento2 \ 62 | && usermod -a -G www-data magento2 \ 63 | && usermod -a -G magento2 www-data 64 | 65 | WORKDIR /var/www/html/magento2 66 | RUN chown -R magento2:www-data /var/www/html/magento2 67 | 68 | # Magento Version 69 | ENV MAGE_VERSION="2.0.7" MAGE_SAMPLE_DATA_VERSION="100.0.*" 70 | 71 | #================================================= 72 | # ENV credentials for repo.magento.com and github 73 | # Fake but valid credentials 74 | # You can put yours tokens with environments variables 75 | #================================================= 76 | ENV GITHUB_API_TOKEN=b5c21d42265d58f189660cf3d582f4ea120c354e \ 77 | MAGE_ACCOUNT_PUBLIC_KEY=e3b8d4033c8f6440aec19950253a8cb3 \ 78 | MAGE_ACCOUNT_PRIVATE_KEY=8a297c071a7c3085ea0630283c96f002 79 | 80 | ENV DOCKERIZE_TEMPLATES_PATH /home/magento2/dockerize 81 | 82 | #========================================== 83 | # Prepare Dockerize template for Auth, ocmpsoer and MTF config 84 | #========================================== 85 | COPY conf/auth.json.tmpl \ 86 | conf/composer.json.tmpl \ 87 | conf/mtf/phpunit.xml.tmpl \ 88 | conf/mtf/credentials.xml.tmpl \ 89 | conf/mtf/etc/config.xml.tmpl \ 90 | /home/magento2/dockerize/ 91 | 92 | RUN chown -R magento2:magento2 $DOCKERIZE_TEMPLATES_PATH 93 | 94 | # Create .composer directory in user home 95 | RUN gosu magento2 mkdir /home/magento2/.composer/ 96 | 97 | # Dockerize auth and composer config 98 | RUN gosu magento2 dockerize -template $DOCKERIZE_TEMPLATES_PATH/auth.json.tmpl:/home/magento2/.composer/auth.json \ 99 | -template $DOCKERIZE_TEMPLATES_PATH/composer.json.tmpl:/var/www/html/magento2/composer.json 100 | 101 | RUN gosu magento2 composer config -g github-oauth.github.com $GITHUB_API_TOKEN 102 | 103 | # Get Magento CE release and sample data 104 | RUN gosu magento2 composer install 105 | 106 | #========================= 107 | # Download MFT 108 | #========================= 109 | WORKDIR dev/tests/functional/ 110 | RUN gosu magento2 composer install 111 | WORKDIR /var/www/html/magento2 112 | 113 | 114 | #============================= 115 | # Set file system ownership and permissions 116 | #============================ 117 | RUN chown -R magento2:www-data . 118 | RUN find . -type d -exec chmod 770 {} \; \ 119 | && find . -type f -exec chmod 660 {} \; \ 120 | && chmod u+x bin/magento \ 121 | && chmod u+x /var/www/html/magento2/dev/tests/functional/vendor/phpunit/phpunit/phpunit 122 | 123 | 124 | # magento and phpunit binaries to global path 125 | ENV PATH=/var/www/html/magento2/dev/tests/functional/vendor/bin:/var/www/html/magento2/bin:$PATH 126 | RUN echo "PATH=/var/www/html/magento2/dev/tests/functional/vendor/bin:/var/www/html/magento2/bin:$PATH" >> /home/magento2/.profile 127 | 128 | #========================== 129 | # ENV variables used by magento installation 130 | #========================== 131 | ENV MYSQL_ROOT_PASSWORD magento2 132 | 133 | 134 | #==================================================== 135 | # If you want to use sample data with installation or reinstallaiton, 136 | # set command argument value else let it empty 137 | # Eg. ENV MAGE_INSTALL_SAMPLE_DATA --use-sample-data 138 | #===================================================== 139 | # Force complete reinstallaiton 140 | ENV MAGE_REINSTALL=0 \ 141 | MAGE_INSTALL_SAMPLE_DATA="--use-sample-data" \ 142 | MAGE_ADMIN_FIRSTNAME="John" \ 143 | MAGE_ADMIN_LASTNAME="Doe" \ 144 | MAGE_ADMIN_EMAIL="john.doe@yopmail.com" \ 145 | MAGE_ADMIN_USER="admin" \ 146 | MAGE_ADMIN_PWD="admin123" \ 147 | MAGE_BASE_URL="http://127.0.0.1:8080/magento2" \ 148 | MAGE_BASE_URL_SECURE="https://127.0.0.1:8080/magento2" \ 149 | MAGE_BACKEND_FRONTNAME="admin" \ 150 | MAGE_DB_HOST="db" \ 151 | MAGE_DB_PORT="3306" \ 152 | MAGE_DB_NAME="magento2" \ 153 | MAGE_DB_USER="magento2" \ 154 | MAGE_DB_PASSWORD="magento2" \ 155 | MAGE_DB_PREFIX="mage_" \ 156 | MAGE_LANGUAGE="en_US" \ 157 | MAGE_CURRENCY="USD" \ 158 | MAGE_TIMEZONE="America/Chicago" \ 159 | MAGE_USE_REWRITES=1 \ 160 | MAGE_USE_SECURE=0 \ 161 | MAGE_USE_SECURE_ADMIN=0 \ 162 | MAGE_ADMIN_USE_SECURITY_KEY=0 \ 163 | MAGE_SESSION_SAVE=files \ 164 | MAGE_KEY="69c60a47f9dca004e47bf8783f4b9408" 165 | #==================================================== 166 | # If you want to clean database with reinstallation, 167 | # set command argument value else let it empty 168 | # Eg. ENV MAGE_CLEANUP_DATABASE --cleanup-database 169 | #===================================================== 170 | ENV MAGE_CLEANUP_DATABASE="" \ 171 | MAGE_DB_INIT_STATEMENTS="SET NAMES utf8;" \ 172 | MAGE_SALES_ORDER_INCREMENT_PREFIX=0 173 | 174 | #================================================= 175 | # Env var used after installation 176 | #================================================= 177 | ENV MAGE_RUN_REINDEX=1 \ 178 | MAGE_RUN_CACHE_CLEAN=0 \ 179 | MAGE_RUN_CACHE_FLUSH=0 \ 180 | MAGE_RUN_CACHE_DISABLE=1 \ 181 | MAGE_RUN_STATIC_CONTENT_DEPLOY=1 \ 182 | MAGE_RUN_SETUP_DI_COMPILE=0 \ 183 | MAGE_RUN_DEPLOY_MODE=developer \ 184 | MAGE_ENABLE_MODULE_MAGENTO_DEVELOPER=1 185 | 186 | #============================================ 187 | # Env var used for custom package composer installation 188 | # Env CUSTOM_MODULE is used for enable your module after required by composer 189 | #============================================ 190 | ENV CUSTOM_REPOSITORIES="" \ 191 | CUSTOM_PACKAGES="" \ 192 | CUSTOM_MODULES="" 193 | 194 | # Set developer mode in htaccess 195 | RUN gosu magento2 sed -i -e"s/# SetEnv MAGE_MODE developer/ SetEnv MAGE_MODE developer/g" .htaccess 196 | 197 | ### 198 | # Change rewrite base to magento2 199 | # Not used anymore, due to custom apache2 conf !! 200 | ### 201 | # RUN gosu magento2 sed -i -e"s/#RewriteBase \/magento\//RewriteBase \/magento2\//g" .htaccess 202 | 203 | # Set minimum-stability to dev in composer.json 204 | RUN gosu magento2 sed -i -e"s/\"minimum-stability\": \"alpha\"/\"minimum-stability\": \"dev\"/g" composer.json 205 | 206 | 207 | #========================== 208 | # Selenium config (default host: selenium) 209 | # Used by Magento testing framework 210 | # You must to run your selenium server 211 | # the best way is to use selenium image with docker-compose 212 | #========================= 213 | ENV SELENIUM_HOST=selenium \ 214 | SELENIUM_PORT=4444 215 | 216 | COPY bin/magento2-start /usr/local/bin/ 217 | ENTRYPOINT ["magento2-start"] 218 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 Sirateck 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 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Docker image Magento2 with Magento Testing Framework (MTF) 2 | 3 | [![Build Status](https://travis-ci.org/sirateck/devops-magento2.svg?branch=master)](https://travis-ci.org/sirateck/devops-magento2) 4 | 5 | Used for continuous integration/delivery of Magento2 components (modules,themes etc ...) 6 | This image, based on official php repo, install magento2 and MTF sources with composer. 7 | 8 | You can run your container in detached mode if you want. 9 | But the goal, it's to run your custom test suite. 10 | 11 | **DO NOT USE THIS IMAGE IN PRODUCTION, USE IT JUST FOR DEVELOPMENT.** 12 | 13 | ## Prerequisites 14 | 15 | ### Database server 16 | This image need a mysql server but do not provide it. 17 | The best way is to use **DOCKER COMPOSE**. 18 | 19 | ### Selenium server 20 | 21 | If you want to use Magento Testing Framework you need a selenium server and this image don't provide it. 22 | As like database server, The best way is to use **DOCKER COMPOSE**. 23 | But if you want to see the test suite in your browser you can enter its host and port in environment variables (see Magento Testing Framework part below). 24 | 25 | ### Magento credentials 26 | The Magento 2 GitHub repository requires you to authenticate. 27 | The composer install commands fails if you do not. 28 | 29 | To download magento2 community edition and its sample data during image's build, we use valid credentials tokens for you. 30 | This credentials are generated by real GitHub and Magento accounts but created just for this image. 31 | 32 | If you want to enter your own Tokens, you can do this either by inherit this image and redeclare env vars with your values or 33 | by declare your env vars when you run the container with `-e`, `--env` or `--env-file` arguments. 34 | 35 | To authenticate with your credentials, [generate authentication keys](http://devdocs.magento.com/guides/v2.0/install-gde/prereq/connect-auth.html#auth-get), after which you assign this values in following environments variables: 36 | * `GITHUB_API_TOKEN` 37 | * `MAGE_ACCOUNT_PUBLIC_KEY` 38 | * `MAGE_ACCOUNT_PRIVATE_KEY` 39 | 40 | See Environments variables part below. 41 | 42 | 43 | ## Environments variables 44 | 45 | You can customize magento installation with environments variables. 46 | 47 | To do this, you have two ways: 48 | 49 | 1. On inherit this image 50 | Simply redeclare Env vars you want to modify in your Dockerfile. 51 | It's very unsecure, so not publish your image with your real credentials. 52 | 53 | 2. On Run command 54 | When you `run` your container, add `-e`, `--env` or `--env-file` argument to the run command. 55 | The best way with many variables is `--env-file`. 56 | 57 | Example with `--env-file`: 58 | ``` 59 | docker run -it --name magento2 -env-file ./auth.env -env-file ./mage.env -d -p 8080:80 sirateck/devops-magento2 60 | ``` 61 | Where content of auth.env file look like this: 62 | ``` 63 | GITHUB_API_TOKEN=870a63776fh84hdbef59dbaf17f9d065fab6d7 64 | MAGE_ACCOUNT_PUBLIC_KEY=hge1b71430843e56jkce06baa27eb5f 65 | MAGE_ACCOUNT_PRIVATE_KEY=hg67nbf8d359151f4193dkjd0412c4c3a9 66 | ``` 67 | 68 | And content of mage.env file like this: 69 | ``` 70 | MAGE_INSTALL_SAMPLE_DATA=--use-sample-data 71 | MAGE_ADMIN_FIRSTNAME=John 72 | MAGE_ADMIN_LASTNAME=Doe 73 | MAGE_ADMIN_EMAIL=john.doe@yopmail.com 74 | MAGE_ADMIN_USER=admin 75 | MAGE_ADMIN_PWD=admin123 76 | MAGE_BASE_URL=http://127.0.0.1:8080/magento2 77 | MAGE_BASE_URL_SECURE=https://127.0.0.1:8080/magento2 78 | MAGE_BACKEND_FRONTNAME=admin 79 | MAGE_DB_HOST=db 80 | MAGE_DB_PORT=3306 81 | MAGE_DB_NAME=magento2 82 | MAGE_DB_USER=magento2 83 | MAGE_DB_PASSWORD=magento2 84 | MAGE_DB_PREFIX=mage_ 85 | MAGE_LANGUAGE=en_US 86 | MAGE_CURRENCY=USD 87 | MAGE_TIMEZONE=America/Chicago 88 | MAGE_USE_REWRITES=1 89 | MAGE_USE_SECURE=0 90 | MAGE_USE_SECURE_ADMIN=0 91 | MAGE_ADMIN_USE_SECURITY_KEY=0 92 | MAGE_SESSION_SAVE=files 93 | MAGE_KEY=69c60a47f9dca004e47bf8783f4b9408 94 | 95 | #==================================================== 96 | #If you want to clean database with reinstallation, 97 | # set command argument value else leave it empty 98 | # Eg. MAGE_CLEANUP_DATABASE --cleanup-database 99 | #===================================================== 100 | MAGE_CLEANUP_DATABASE= 101 | MAGE_DB_INIT_STATEMENTS=SET NAMES utf8; 102 | MAGE_SALES_ORDER_INCREMENT_PREFIX=0 103 | 104 | #================================================= 105 | # Env var used after installation 106 | #================================================= 107 | MAGE_RUN_REINDEX=0 108 | MAGE_RUN_CACHE_CLEAN=0 109 | MAGE_RUN_CACHE_FLUSH=0 110 | MAGE_RUN_CACHE_DISABLE=1 111 | MAGE_RUN_STATIC_CONTENT_DEPLOY=0 112 | MAGE_RUN_SETUP_DI_COMPILE=0 113 | MAGE_RUN_DEPLOY_MODE=developer 114 | ``` 115 | 116 | See in [Dockerfile](Dockerfile) for all variables list. 117 | 118 | ## Install custom packages during a run command 119 | 120 | You can install custom packages like *magento2 modules* after a fresh install during a run command. 121 | To do that just enter your packages repositories, packages urls and modules names in environments variables: `CUSTOM_REPOSITORIES`,`CUSTOM_PACKAGES`,`CUSTOM_MODULES`. 122 | 123 | Environments variables file example (*Eg. module.env file*): 124 | ``` 125 | CUSTOM_REPOSITORIES=vcs git@github.com:magento/magento2-samples.git 126 | CUSTOM_PACKAGES=magento/sample-module-webflow dev-master 127 | CUSTOM_MODULES=Magento_SampleWebFlow 128 | ``` 129 | 130 | You can put many values separated by a comma like this: 131 | ``` 132 | CUSTOM_REPOSITORIES=vcs git@github.com:magento/magento2-samples.git, antoher_type another_repo 133 | CUSTOM_PACKAGES=magento/sample-module-webflow dev-master,magento/sample-module-newpage 134 | CUSTOM_MODULES=Magento_SampleWebFlow,Magento_SampleNewPage 135 | ``` 136 | 137 | In `CUSTOM_REPOSITORIES` variable you must do enter **type** and **repository** separated by space. 138 | In `CUSTOM_PACKAGES`, it's possible to add version or branch name after package name. 139 | 140 | See https://getcomposer.org/doc/05-repositories.md 141 | 142 | Your modules are enabled automatically. 143 | 144 | **NOTE**: If your repositories need authentication, don't forget to enter your owns with Env vars. 145 | 146 | ## Magento command line 147 | 148 | `magento` binary path is in `PATH` environment variable. 149 | So, you can easily run a magento command. 150 | Maybe for an unit test like this example below: 151 | ``` 152 | docker run -it --name magento2 -env-file ./auth.env -env-file ./mage.env --env-file module.env -p 8080:80 sirateck/devops-magento2 magento dev:tests:run integration 153 | ``` 154 | 155 | More informations: http://devdocs.magento.com/guides/v2.0/config-guide/cli/config-cli-subcommands-test.html 156 | 157 | ## Magento Testing Framework 158 | 159 | *Before run a test suite with mtf, you need a selenium server.* 160 | See: http://devdocs.magento.com/guides/v2.0/mtf/mtf_introduction.html 161 | 162 | `phpunit` is already installed and `phpunit` binary path is in `PATH` environment variable. 163 | 164 | So, you can easily run a test with run command: 165 | ``` 166 | docker run -it --name magento2 -env-file ./auth.env -env-file ./mage.env --env-file module.env -p 8080:80 sirateck/devops-magento2 phpunit --filter MyTestCase 167 | ``` 168 | For more information about run test see http://devdocs.magento.com/guides/v2.0/mtf/mtf_quickstart/mtf_quickstart_runtest.html 169 | 170 | MTF configuration is already filled by Magento installation variables. 171 | If you want to change selenium host and port, change this values: 172 | ``` 173 | SELENIUM_HOST=selenium 174 | SELENIUM_PORT=4444 175 | ``` 176 | Note: At this moment, WYSIWYG Editor is not Disabled Completely before run test. 177 | 178 | ## Compose 179 | 180 | With compose you get your dev environment in few minutes. 181 | 182 | Juste create a directory with your env files and this docker-compose.yml file: 183 | ``` 184 | magento2: 185 | image: sirateck/devops-magento2 186 | ports: 187 | - "8080:80" 188 | links: 189 | - db 190 | - selenium 191 | env_file: 192 | - ./auth.env 193 | - ./module.env 194 | - ./mage.env 195 | db: 196 | image: mysql:5.6 197 | environment: 198 | - MYSQL_ROOT_PASSWORD=magento2 199 | selenium: 200 | image: selenium/standalone-firefox 201 | 202 | ``` 203 | 204 | Run another container with this compose file: 205 | ``` 206 | docker-compose run --rm magento2 some command 207 | ``` 208 | 209 | See [Docker Compose](https://docs.docker.com/compose/) for more informations. 210 | 211 | ## Licence 212 | 213 | The MIT License (MIT) 214 | 215 | Copyright (c) 2016 Sirateck 216 | -------------------------------------------------------------------------------- /bin/magento2-start: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Set +e because it's used in dev environment and waring due to password used in mysql command line 3 | set +e 4 | 5 | printf "\n* Dockerize templates and Wait for Mysql server\n" 6 | 7 | # Template files are not deleted after dockerize, maybe they will be reused by --env-file argument 8 | gosu magento2 dockerize -template $DOCKERIZE_TEMPLATES_PATH/auth.json.tmpl:/home/magento2/.composer/auth.json \ 9 | -template $DOCKERIZE_TEMPLATES_PATH/phpunit.xml.tmpl:dev/tests/functional/phpunit.xml \ 10 | -template $DOCKERIZE_TEMPLATES_PATH/credentials.xml.tmpl:dev/tests/functional/credentials.xml \ 11 | -template $DOCKERIZE_TEMPLATES_PATH/config.xml.tmpl:dev/tests/functional/etc/config.xml \ 12 | -wait tcp://$MAGE_DB_HOST:$MAGE_DB_PORT \ 13 | -timeout 30s 14 | 15 | # Update composer 16 | composer selfupdate 17 | 18 | # Set github oauthtoken again, maybe is changed by env vars 19 | gosu magento2 composer config -g github-oauth.github.com $GITHUB_API_TOKEN 20 | 21 | # Check if database exists or if Reinstall is true 22 | # If not, try to create db and user granted 23 | DB_EXISTS=`mysql -h $MAGE_DB_HOST -u root -p$MYSQL_ROOT_PASSWORD --execute="SHOW DATABASES;" | grep "$MAGE_DB_NAME"` 24 | if [ -z $DB_EXISTS ]; then 25 | 26 | # Create database if no already exists 27 | mysql -h $MAGE_DB_HOST -u root -p$MYSQL_ROOT_PASSWORD --execute="CREATE DATABASE IF NOT EXISTS $MAGE_DB_NAME;" 28 | 29 | # Grant privileges 30 | mysql -h $MAGE_DB_HOST -u root -p$MYSQL_ROOT_PASSWORD --execute="GRANT ALL ON $MAGE_DB_NAME.* to $MAGE_DB_USER@'localhost' IDENTIFIED BY '$MAGE_DB_PASSWORD'; " \ 31 | && mysql -h $MAGE_DB_HOST -u root -p$MYSQL_ROOT_PASSWORD --execute="GRANT ALL ON $MAGE_DB_NAME.* to $MAGE_DB_USER@'%' IDENTIFIED BY '$MAGE_DB_PASSWORD'; " \ 32 | && mysql -h $MAGE_DB_HOST -u root -p$MYSQL_ROOT_PASSWORD --execute="flush privileges;" 33 | fi 34 | 35 | if [ $MAGE_REINSTALL = 1 ] || [ ! -f /var/www/html/magento2/app/etc/config.php ] && [ ! -f /var/www/html/magento2/app/etc/env.php ]; then 36 | printf "\n* Start Magento2 Command line intallation ..." 37 | 38 | printf "\n* Run install command: " 39 | printf "\n su magento2 -c 'bin/magento setup:install \n' \\ " 40 | echo " '--db-host=$MAGE_DB_HOST' \\ " 41 | echo " '--db-name=$MAGE_DB_NAME' \\" 42 | echo " '--db-user=$MAGE_DB_USER' \\" 43 | echo " '--db-passsword=$MAGE_DB_PASSWORD' \\" 44 | echo " '--db-prefix=$MAGE_DB_PREFIX' \\" 45 | echo " '--base-url=$MAGE_BASE_URL' \\" 46 | echo " '--base-url-secure=$MAGE_BASE_URL_SECURE' \\" 47 | echo " '--admin-firstname=$MAGE_ADMIN_FIRSTNAME' \\" 48 | echo " '--admin-lastname=$MAGE_ADMIN_LASTNAME' \\" 49 | echo " '--admin-email=$MAGE_ADMIN_EMAIL' \\" 50 | echo " '--admin-user=$MAGE_ADMIN_USER' \\" 51 | echo " '--admin-password=$MAGE_ADMIN_PWD' \\" 52 | echo " '--use-rewrites=$MAGE_USE_REWRITES' \\" 53 | echo " '--backend-frontname=$MAGE_BACKEND_FRONTNAME' \\" 54 | echo " '--language=$MAGE_LANGUAGE' \\" 55 | echo " '--currency=$MAGE_CURRENCY' \\" 56 | echo " '--timezone=$MAGE_TIMEZONE' \\" 57 | echo " '--use-secure=$MAGE_USE_SECURE' \\" 58 | echo " '--use-secure-admin=$MAGE_USE_SECURE_ADMIN' \\" 59 | echo " '--admin-use-security-key=$MAGE_ADMIN_USE_SECURITY_KEY' \\" 60 | echo " '--session-save=$MAGE_SESSION_SAVE' \\" 61 | echo " '--key=$MAGE_KEY' \\" 62 | echo " '--db-init-statements=$MAGE_DB_INIT_STATEMENTS' \\" 63 | echo " '--sales-order-increment-prefix=$MAGE_SALES_ORDER_INCREMENT_PREFIX' \\" 64 | echo " '$MAGE_CLEANUP_DATABASE' \\ " 65 | echo " '$MAGE_INSTALL_SAMPLE_DATA' " 66 | gosu magento2 magento setup:install \ 67 | --db-host=$MAGE_DB_HOST \ 68 | --db-name=$MAGE_DB_NAME \ 69 | --db-user=$MAGE_DB_USER \ 70 | --db-password=$MAGE_DB_PASSWORD \ 71 | --db-prefix=$MAGE_DB_PREFIX \ 72 | --language=$MAGE_LANGUAGE \ 73 | --currency=$MAGE_CURRENCY \ 74 | --timezone=$MAGE_TIMEZONE \ 75 | --use-secure=$MAGE_USE_SECURE \ 76 | --use-secure-admin=$MAGE_USE_SECURE_ADMIN \ 77 | --admin-use-security-key=$MAGE_ADMIN_USE_SECURITY_KEY \ 78 | --base-url=$MAGE_BASE_URL \ 79 | --base-url-secure=$MAGE_BASE_URL_SECURE \ 80 | --backend-frontname=$MAGE_BACKEND_FRONTNAME \ 81 | --admin-firstname=$MAGE_ADMIN_FIRSTNAME \ 82 | --admin-lastname=$MAGE_ADMIN_LASTNAME \ 83 | --admin-email=$MAGE_ADMIN_EMAIL \ 84 | --admin-user=$MAGE_ADMIN_USER \ 85 | --admin-password=$MAGE_ADMIN_PWD \ 86 | --use-rewrites=$MAGE_USE_REWRITES \ 87 | --session-save=$MAGE_SESSION_SAVE \ 88 | --key=$MAGE_KEY \ 89 | --db-init-statements="$MAGE_DB_INIT_STATEMENTS" \ 90 | --sales-order-increment-prefix="$MAGE_SALES_ORDER_INCREMENT_PREFIX" $MAGE_CLEANUP_DATABASE $MAGE_INSTALL_SAMPLE_DATA 91 | 92 | fi 93 | 94 | # Transform string vars to array 95 | OLDIFS=$IFS 96 | IFS=',' 97 | read -r -a CUSTOM_REPOSITORIES <<< "$CUSTOM_REPOSITORIES" 98 | read -r -a CUSTOM_PACKAGES <<< "$CUSTOM_PACKAGES" 99 | read -r -a CUSTOM_MODULES <<< "$CUSTOM_MODULES" 100 | IFS=$OLDIFS 101 | 102 | # Add custom repositories to composer config 103 | if [ ! ${#CUSTOM_REPOSITORIES[*]} = 0 ]; then 104 | cnt_repo=$((${#CUSTOM_REPOSITORIES[*]} - 1)) 105 | for i in `seq 0 $cnt_repo`; do 106 | j=$(($i + 100)) # increase j to not erase magento repo 107 | repo="$(echo ${CUSTOM_REPOSITORIES[$i]} | sed 's/^[ \t]*//;s/[ \t]*$//')" 108 | printf "\nAdd Repository $repo to composer.json" 109 | gosu magento2 composer config repositories.$j $repo 110 | done 111 | fi 112 | 113 | # Add required packages 114 | if [ ! ${#CUSTOM_PACKAGES[*]} = 0 ]; then 115 | cnt_package=$((${#CUSTOM_PACKAGES[*]} - 1)) 116 | for i in `seq 0 $cnt_package`; do 117 | package=`echo ${CUSTOM_PACKAGES[$i]} | sed 's/^[ \t]*//;s/[ \t]*$//'` 118 | printf "\nInstall package $package" 119 | gosu magento2 composer require $package 120 | done 121 | fi 122 | 123 | # Enable/Install modules 124 | if [ ! ${#CUSTOM_MODULES[*]} = 0 ]; then 125 | cnt_modules=$((${#CUSTOM_MODULES[*]} - 1)) 126 | for i in `seq 0 $cnt_modules`; do 127 | module=`echo ${CUSTOM_MODULES[$i]} | sed 's/^[ \t]*//;s/[ \t]*$//'` 128 | gosu magento2 magento module:enable --clear-static-content $module 129 | gosu magento2 magento setup:upgrade 130 | done 131 | fi 132 | 133 | printf "\n* Set deploy mode to $MAGE_RUN_DEPLOY_MODE\n" 134 | gosu magento2 magento deploy:mode:set $MAGE_RUN_DEPLOY_MODE 135 | 136 | # @TODO check if it is really necessary 137 | if [ $MAGE_ENABLE_MODULE_MAGENTO_DEVELOPER = 1 ]; then 138 | printf "\n* Enable Module Magento_Developer ...\n" 139 | gosu magento2 magento module:enable Magento_Developer 140 | fi 141 | 142 | if [ $MAGE_RUN_REINDEX = 1 ]; then 143 | printf "\n* Reindex all indexes ..." 144 | gosu magento2 magento indexer:reindex 145 | fi 146 | 147 | if [ $MAGE_RUN_CACHE_CLEAN = 1 ]; then 148 | printf "\n* Clean cache" 149 | gosu magento2 magento cache:clean 150 | fi 151 | 152 | if [ $MAGE_RUN_CACHE_FLUSH = 1 ]; then 153 | printf "\n* Flush cache" 154 | gosu magento2 magento cache:flush 155 | fi 156 | 157 | if [ $MAGE_RUN_CACHE_DISABLE = 1 ]; then 158 | printf "\n* Disable all cache types" 159 | gosu magento2 magento cache:disable 160 | fi 161 | 162 | if [ $MAGE_RUN_STATIC_CONTENT_DEPLOY = 1 ]; then 163 | printf "\n* Deploy static content ..." 164 | gosu magento2 magento setup:static-content:deploy 165 | fi 166 | 167 | if [ $MAGE_RUN_SETUP_DI_COMPILE = 1 ]; then 168 | printf "\n* Run code compilation..." 169 | gosu magento2 magento setup:di:compile 170 | fi 171 | 172 | if [ "$1" = 'magento' ] || [ "$1" = 'phpunit' ]; then 173 | printf "\n* Execute command $@" 174 | service apache2 start 175 | if [ "$1" = 'phpunit' ]; then 176 | cd dev/tests/functional/ 177 | gosu magento2 php utils/generate.php 178 | fi 179 | exec gosu magento2 "$@" 180 | fi 181 | 182 | # We need to remove the pid file or Apache won't start after being stopped 183 | if [ -f /var/run/apache2/apache2.pid ]; then 184 | rm -f /var/run/apache2/apache2.pid 185 | fi 186 | 187 | printf "\n* Start Apache in foreground"; 188 | exec apache2 -DFOREGROUND 189 | -------------------------------------------------------------------------------- /conf/apache2/apache2.conf: -------------------------------------------------------------------------------- 1 | # see http://sources.debian.net/src/apache2/2.4.10-1/debian/config-dir/apache2.conf 2 | 3 | Mutex file:/var/lock/apache2 default 4 | PidFile /var/run/apache2/apache2.pid 5 | Timeout 300 6 | KeepAlive On 7 | MaxKeepAliveRequests 100 8 | KeepAliveTimeout 5 9 | User www-data 10 | Group www-data 11 | HostnameLookups Off 12 | ErrorLog /proc/self/fd/2 13 | LogLevel warn 14 | 15 | IncludeOptional mods-enabled/*.load 16 | IncludeOptional mods-enabled/*.conf 17 | 18 | # ports.conf 19 | Listen 80 20 | 21 | Listen 443 22 | 23 | 24 | Listen 443 25 | 26 | 27 | 28 | Options FollowSymLinks 29 | AllowOverride None 30 | Require all denied 31 | 32 | 33 | 34 | AllowOverride All 35 | Require all granted 36 | 37 | 38 | # Change is here !! 39 | # Change document root to magento2 directory 40 | DocumentRoot /var/www/html/magento2 41 | 42 | AccessFileName .htaccess 43 | 44 | Require all denied 45 | 46 | 47 | LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined 48 | LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined 49 | LogFormat "%h %l %u %t \"%r\" %>s %O" common 50 | LogFormat "%{Referer}i -> %U" referer 51 | LogFormat "%{User-agent}i" agent 52 | 53 | CustomLog /proc/self/fd/1 combined 54 | 55 | 56 | SetHandler application/x-httpd-php 57 | 58 | 59 | # Multiple DirectoryIndex directives within the same context will add 60 | # to the list of resources to look for rather than replace 61 | # https://httpd.apache.org/docs/current/mod/mod_dir.html#directoryindex 62 | DirectoryIndex disabled 63 | DirectoryIndex index.php index.html 64 | 65 | IncludeOptional conf-enabled/*.conf 66 | IncludeOptional sites-enabled/*.conf 67 | -------------------------------------------------------------------------------- /conf/apache2/site-available/000-default.conf: -------------------------------------------------------------------------------- 1 | 2 | # The ServerName directive sets the request scheme, hostname and port that 3 | # the server uses to identify itself. This is used when creating 4 | # redirection URLs. In the context of virtual hosts, the ServerName 5 | # specifies what hostname must appear in the request's Host: header to 6 | # match this virtual host. For the default virtual host (this file) this 7 | # value is not decisive as it is used as a last resort host regardless. 8 | # However, you must set it for any further virtual host explicitly. 9 | #ServerName www.example.com 10 | 11 | ServerAdmin webmaster@localhost 12 | DocumentRoot /var/www/html/magento2 13 | 14 | 15 | 16 | AllowOverride All 17 | Order deny,allow 18 | Allow from all 19 | 20 | 21 | # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, 22 | # error, crit, alert, emerg. 23 | # It is also possible to configure the loglevel for particular 24 | # modules, e.g. 25 | LogLevel debug ssl:warn 26 | 27 | # Pour les sites de dev decommentez les 3 lignes suivantes 28 | php_flag display_errors On 29 | php_flag display_startup_errors On 30 | php_admin_value error_reporting 30719 31 | 32 | ErrorLog /var/log/apapche2/error.log 33 | #CustomLog ${APACHE_LOG_DIR}/access.log combined 34 | 35 | # For most configuration files from conf-available/, which are 36 | # enabled or disabled at a global level, it is possible to 37 | # include a line for only one particular virtual host. For example the 38 | # following line enables the CGI configuration for this host only 39 | # after it has been globally disabled with "a2disconf". 40 | #Include conf-available/serve-cgi-bin.conf 41 | 42 | -------------------------------------------------------------------------------- /conf/auth.json.tmpl: -------------------------------------------------------------------------------- 1 | { 2 | "github-oauth": { 3 | "github.com": "{{ .Env.GITHUB_API_TOKEN }}" 4 | }, 5 | "http-basic": { 6 | "repo.magento.com": { 7 | "username": "{{ .Env.MAGE_ACCOUNT_PUBLIC_KEY }}", 8 | "password": "{{ .Env.MAGE_ACCOUNT_PRIVATE_KEY }}" 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /conf/composer.json.tmpl: -------------------------------------------------------------------------------- 1 | { 2 | "name": "magento/project-community-edition", 3 | "description": "eCommerce Platform for Growth (Community Edition)", 4 | "type": "project", 5 | "version": "{{ .Env.MAGE_VERSION }}", 6 | "license": [ 7 | "OSL-3.0", 8 | "AFL-3.0" 9 | ], 10 | "repositories": [ 11 | { 12 | "type": "composer", 13 | "url": "https://repo.magento.com/" 14 | } 15 | ], 16 | "require": { 17 | "magento/product-community-edition": "{{ .Env.MAGE_VERSION }}", 18 | "composer/composer": "@alpha", 19 | "magento/module-bundle-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 20 | "magento/module-theme-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 21 | "magento/module-widget-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 22 | "magento/module-catalog-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 23 | "magento/module-customer-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 24 | "magento/module-cms-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 25 | "magento/module-catalog-rule-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 26 | "magento/module-sales-rule-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 27 | "magento/module-review-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 28 | "magento/module-tax-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 29 | "magento/module-sales-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 30 | "magento/module-grouped-product-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 31 | "magento/module-downloadable-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 32 | "magento/module-msrp-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 33 | "magento/module-configurable-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 34 | "magento/module-product-links-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 35 | "magento/module-wishlist-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 36 | "magento/module-swatches-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 37 | "magento/sample-data-media": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}", 38 | "magento/module-offline-shipping-sample-data": "{{ .Env.MAGE_SAMPLE_DATA_VERSION }}" 39 | }, 40 | "require-dev": { 41 | "phpunit/phpunit": "4.1.0", 42 | "squizlabs/php_codesniffer": "1.5.3", 43 | "phpmd/phpmd": "@stable", 44 | "pdepend/pdepend": "2.2.2", 45 | "sjparkinson/static-review": "~4.1", 46 | "fabpot/php-cs-fixer": "~1.2", 47 | "lusitanian/oauth": "~0.3 <=0.7.0" 48 | }, 49 | "config": { 50 | "use-include-path": true 51 | }, 52 | "autoload": { 53 | "psr-4": { 54 | "Magento\\Framework\\": "lib/internal/Magento/Framework/", 55 | "Magento\\Setup\\": "setup/src/Magento/Setup/", 56 | "Magento\\": "app/code/Magento/" 57 | }, 58 | "psr-0": { 59 | "": "app/code/" 60 | }, 61 | "files": [ 62 | "app/etc/NonComposerComponentRegistration.php" 63 | ] 64 | }, 65 | "autoload-dev": { 66 | "psr-4": { 67 | "Magento\\Sniffs\\": "dev/tests/static/framework/Magento/Sniffs/", 68 | "Magento\\Tools\\": "dev/tools/Magento/Tools/", 69 | "Magento\\Tools\\Sanity\\": "dev/build/publication/sanity/Magento/Tools/Sanity/", 70 | "Magento\\TestFramework\\Inspection\\": "dev/tests/static/framework/Magento/TestFramework/Inspection/", 71 | "Magento\\TestFramework\\Utility\\": "dev/tests/static/framework/Magento/TestFramework/Utility/" 72 | } 73 | }, 74 | "minimum-stability": "alpha", 75 | "prefer-stable": true, 76 | "extra": { 77 | "magento-force": "override" 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /conf/mtf/credentials.xml.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /conf/mtf/etc/config.xml.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | testCase 11 | {{ .Env.MAGE_ADMIN_USER }} 12 | {{ .Env.MAGE_ADMIN_PWD }} 13 | {{ .Env.MAGE_BASE_URL }}/{{ .Env.MAGE_BACKEND_FRONTNAME }}/ 14 | admin/auth/login 15 | 16 | 17 | {{ .Env.MAGE_DB_HOST }} 18 | root 19 | {{ .Env.MYSQL_ROOT_PASSWORD }} 20 | {{ .Env.MAGE_DB_NAME }}_test 21 | {{ .Env.MAGE_BASE_URL }}/ 22 | {{ .Env.MAGE_BACKEND_FRONTNAME }} 23 | 24 | 25 | 26 | integration_token 27 | 28 | 29 | 30 | 31 | 32 | 40 | 41 | ANY 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /conf/mtf/phpunit.xml.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 8 | 15 | 16 | 17 | tests 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /conf/php.ini: -------------------------------------------------------------------------------- 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 = 1024M 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 = syslog 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 = 12M 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 | 701 | ; The root of the PHP pages, used only if nonempty. 702 | ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root 703 | ; if you are running php as a CGI under any web server (other than IIS) 704 | ; see documentation for security issues. The alternate is to use the 705 | ; cgi.force_redirect configuration below 706 | ; http://php.net/doc-root 707 | doc_root = 708 | 709 | ; The directory under which PHP opens the script using /~username used only 710 | ; if nonempty. 711 | ; http://php.net/user-dir 712 | user_dir = 713 | 714 | ; Directory in which the loadable extensions (modules) reside. 715 | ; http://php.net/extension-dir 716 | ; extension_dir = "./" 717 | ; On windows: 718 | ; extension_dir = "ext" 719 | 720 | ; Directory where the temporary files should be placed. 721 | ; Defaults to the system default (see sys_get_temp_dir) 722 | ; sys_temp_dir = "/tmp" 723 | 724 | ; Whether or not to enable the dl() function. The dl() function does NOT work 725 | ; properly in multithreaded servers, such as IIS or Zeus, and is automatically 726 | ; disabled on them. 727 | ; http://php.net/enable-dl 728 | enable_dl = Off 729 | 730 | ; cgi.force_redirect is necessary to provide security running PHP as a CGI under 731 | ; most web servers. Left undefined, PHP turns this on by default. You can 732 | ; turn it off here AT YOUR OWN RISK 733 | ; **You CAN safely turn this off for IIS, in fact, you MUST.** 734 | ; http://php.net/cgi.force-redirect 735 | ;cgi.force_redirect = 1 736 | 737 | ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with 738 | ; every request. PHP's default behavior is to disable this feature. 739 | ;cgi.nph = 1 740 | 741 | ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape 742 | ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP 743 | ; will look for to know it is OK to continue execution. Setting this variable MAY 744 | ; cause security issues, KNOW WHAT YOU ARE DOING FIRST. 745 | ; http://php.net/cgi.redirect-status-env 746 | ;cgi.redirect_status_env = 747 | 748 | ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's 749 | ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok 750 | ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting 751 | ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting 752 | ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts 753 | ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. 754 | ; http://php.net/cgi.fix-pathinfo 755 | ;cgi.fix_pathinfo=1 756 | 757 | ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate 758 | ; security tokens of the calling client. This allows IIS to define the 759 | ; security context that the request runs under. mod_fastcgi under Apache 760 | ; does not currently support this feature (03/17/2002) 761 | ; Set to 1 if running under IIS. Default is zero. 762 | ; http://php.net/fastcgi.impersonate 763 | ;fastcgi.impersonate = 1 764 | 765 | ; Disable logging through FastCGI connection. PHP's default behavior is to enable 766 | ; this feature. 767 | ;fastcgi.logging = 0 768 | 769 | ; cgi.rfc2616_headers configuration option tells PHP what type of headers to 770 | ; use when sending HTTP response code. If it's set 0 PHP sends Status: header that 771 | ; is supported by Apache. When this option is set to 1 PHP will send 772 | ; RFC2616 compliant header. 773 | ; Default is zero. 774 | ; http://php.net/cgi.rfc2616-headers 775 | ;cgi.rfc2616_headers = 0 776 | 777 | ;;;;;;;;;;;;;;;; 778 | ; File Uploads ; 779 | ;;;;;;;;;;;;;;;; 780 | 781 | ; Whether to allow HTTP file uploads. 782 | ; http://php.net/file-uploads 783 | file_uploads = On 784 | 785 | ; Temporary directory for HTTP uploaded files (will use system default if not 786 | ; specified). 787 | ; http://php.net/upload-tmp-dir 788 | ;upload_tmp_dir = 789 | 790 | ; Maximum allowed size for uploaded files. 791 | ; http://php.net/upload-max-filesize 792 | upload_max_filesize = 32M 793 | 794 | ; Maximum number of files that can be uploaded via a single request 795 | max_file_uploads = 20 796 | 797 | ;;;;;;;;;;;;;;;;;; 798 | ; Fopen wrappers ; 799 | ;;;;;;;;;;;;;;;;;; 800 | 801 | ; Whether to allow the treatment of URLs (like http:// or ftp://) as files. 802 | ; http://php.net/allow-url-fopen 803 | allow_url_fopen = On 804 | 805 | ; Whether to allow include/require to open URLs (like http:// or ftp://) as files. 806 | ; http://php.net/allow-url-include 807 | allow_url_include = Off 808 | 809 | ; Define the anonymous ftp password (your email address). PHP's default setting 810 | ; for this is empty. 811 | ; http://php.net/from 812 | ;from="john@doe.com" 813 | 814 | ; Define the User-Agent string. PHP's default setting for this is empty. 815 | ; http://php.net/user-agent 816 | ;user_agent="PHP" 817 | 818 | ; Default timeout for socket based streams (seconds) 819 | ; http://php.net/default-socket-timeout 820 | default_socket_timeout = 60 821 | 822 | ; If your scripts have to deal with files from Macintosh systems, 823 | ; or you are running on a Mac and need to deal with files from 824 | ; unix or win32 systems, setting this flag will cause PHP to 825 | ; automatically detect the EOL character in those files so that 826 | ; fgets() and file() will work regardless of the source of the file. 827 | ; http://php.net/auto-detect-line-endings 828 | ;auto_detect_line_endings = Off 829 | 830 | ;;;;;;;;;;;;;;;;;;;;;; 831 | ; Dynamic Extensions ; 832 | ;;;;;;;;;;;;;;;;;;;;;; 833 | 834 | ; If you wish to have an extension loaded automatically, use the following 835 | ; syntax: 836 | ; 837 | ; extension=modulename.extension 838 | ; 839 | ; For example, on Windows: 840 | ; 841 | ; extension=msql.dll 842 | ; 843 | ; ... or under UNIX: 844 | ; 845 | ; extension=msql.so 846 | ; 847 | ; ... or with a path: 848 | ; 849 | ; extension=/path/to/extension/msql.so 850 | ; 851 | ; If you only provide the name of the extension, PHP will look for it in its 852 | ; default extension directory. 853 | ; 854 | ; Windows Extensions 855 | ; Note that ODBC support is built in, so no dll is needed for it. 856 | ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5) 857 | ; extension folders as well as the separate PECL DLL download (PHP 5). 858 | ; Be sure to appropriately set the extension_dir directive. 859 | ; 860 | ;extension=php_bz2.dll 861 | ;extension=php_curl.dll 862 | ;extension=php_fileinfo.dll 863 | ;extension=php_gd2.dll 864 | ;extension=php_gettext.dll 865 | ;extension=php_gmp.dll 866 | ;extension=php_intl.dll 867 | ;extension=php_imap.dll 868 | ;extension=php_interbase.dll 869 | ;extension=php_ldap.dll 870 | ;extension=php_mbstring.dll 871 | ;extension=php_exif.dll ; Must be after mbstring as it depends on it 872 | ;extension=php_mysql.dll 873 | ;extension=php_mysqli.dll 874 | ;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client 875 | ;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client 876 | ;extension=php_openssl.dll 877 | ;extension=php_pdo_firebird.dll 878 | ;extension=php_pdo_mysql.dll 879 | ;extension=php_pdo_oci.dll 880 | ;extension=php_pdo_odbc.dll 881 | ;extension=php_pdo_pgsql.dll 882 | ;extension=php_pdo_sqlite.dll 883 | ;extension=php_pgsql.dll 884 | ;extension=php_pspell.dll 885 | ;extension=php_shmop.dll 886 | 887 | ; The MIBS data available in the PHP distribution must be installed. 888 | ; See http://www.php.net/manual/en/snmp.installation.php 889 | ;extension=php_snmp.dll 890 | 891 | ;extension=php_soap.dll 892 | ;extension=php_sockets.dll 893 | ;extension=php_sqlite3.dll 894 | ;extension=php_sybase_ct.dll 895 | ;extension=php_tidy.dll 896 | ;extension=php_xmlrpc.dll 897 | ;extension=php_xsl.dll 898 | 899 | ;;;;;;;;;;;;;;;;;;; 900 | ; Module Settings ; 901 | ;;;;;;;;;;;;;;;;;;; 902 | 903 | [CLI Server] 904 | ; Whether the CLI web server uses ANSI color coding in its terminal output. 905 | cli_server.color = On 906 | 907 | [Date] 908 | ; Defines the default timezone used by the date functions 909 | ; http://php.net/date.timezone 910 | ;date.timezone = 911 | 912 | ; http://php.net/date.default-latitude 913 | ;date.default_latitude = 31.7667 914 | 915 | ; http://php.net/date.default-longitude 916 | ;date.default_longitude = 35.2333 917 | 918 | ; http://php.net/date.sunrise-zenith 919 | ;date.sunrise_zenith = 90.583333 920 | 921 | ; http://php.net/date.sunset-zenith 922 | ;date.sunset_zenith = 90.583333 923 | 924 | [filter] 925 | ; http://php.net/filter.default 926 | ;filter.default = unsafe_raw 927 | 928 | ; http://php.net/filter.default-flags 929 | ;filter.default_flags = 930 | 931 | [iconv] 932 | ;iconv.input_encoding = ISO-8859-1 933 | ;iconv.internal_encoding = ISO-8859-1 934 | ;iconv.output_encoding = ISO-8859-1 935 | 936 | [intl] 937 | ;intl.default_locale = 938 | ; This directive allows you to produce PHP errors when some error 939 | ; happens within intl functions. The value is the level of the error produced. 940 | ; Default is 0, which does not produce any errors. 941 | ;intl.error_level = E_WARNING 942 | 943 | [sqlite] 944 | ; http://php.net/sqlite.assoc-case 945 | ;sqlite.assoc_case = 0 946 | 947 | [sqlite3] 948 | ;sqlite3.extension_dir = 949 | 950 | [Pcre] 951 | ;PCRE library backtracking limit. 952 | ; http://php.net/pcre.backtrack-limit 953 | ;pcre.backtrack_limit=100000 954 | 955 | ;PCRE library recursion limit. 956 | ;Please note that if you set this value to a high number you may consume all 957 | ;the available process stack and eventually crash PHP (due to reaching the 958 | ;stack size limit imposed by the Operating System). 959 | ; http://php.net/pcre.recursion-limit 960 | ;pcre.recursion_limit=100000 961 | 962 | [Pdo] 963 | ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" 964 | ; http://php.net/pdo-odbc.connection-pooling 965 | ;pdo_odbc.connection_pooling=strict 966 | 967 | ;pdo_odbc.db2_instance_name 968 | 969 | [Pdo_mysql] 970 | ; If mysqlnd is used: Number of cache slots for the internal result set cache 971 | ; http://php.net/pdo_mysql.cache_size 972 | pdo_mysql.cache_size = 2000 973 | 974 | ; Default socket name for local MySQL connects. If empty, uses the built-in 975 | ; MySQL defaults. 976 | ; http://php.net/pdo_mysql.default-socket 977 | pdo_mysql.default_socket= 978 | 979 | [Phar] 980 | ; http://php.net/phar.readonly 981 | ;phar.readonly = On 982 | 983 | ; http://php.net/phar.require-hash 984 | ;phar.require_hash = On 985 | 986 | ;phar.cache_list = 987 | 988 | [mail function] 989 | ; For Win32 only. 990 | ; http://php.net/smtp 991 | SMTP = localhost 992 | ; http://php.net/smtp-port 993 | smtp_port = 25 994 | 995 | ; For Win32 only. 996 | ; http://php.net/sendmail-from 997 | ;sendmail_from = me@example.com 998 | 999 | ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 1000 | ; http://php.net/sendmail-path 1001 | ;sendmail_path = 1002 | 1003 | ; Force the addition of the specified parameters to be passed as extra parameters 1004 | ; to the sendmail binary. These parameters will always replace the value of 1005 | ; the 5th parameter to mail(). 1006 | ;mail.force_extra_parameters = 1007 | 1008 | ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename 1009 | mail.add_x_header = On 1010 | 1011 | ; The path to a log file that will log all mail() calls. Log entries include 1012 | ; the full path of the script, line number, To address and headers. 1013 | ;mail.log = 1014 | ; Log mail to syslog (Event Log on Windows). 1015 | ;mail.log = syslog 1016 | 1017 | [SQL] 1018 | ; http://php.net/sql.safe-mode 1019 | sql.safe_mode = Off 1020 | 1021 | [ODBC] 1022 | ; http://php.net/odbc.default-db 1023 | ;odbc.default_db = Not yet implemented 1024 | 1025 | ; http://php.net/odbc.default-user 1026 | ;odbc.default_user = Not yet implemented 1027 | 1028 | ; http://php.net/odbc.default-pw 1029 | ;odbc.default_pw = Not yet implemented 1030 | 1031 | ; Controls the ODBC cursor model. 1032 | ; Default: SQL_CURSOR_STATIC (default). 1033 | ;odbc.default_cursortype 1034 | 1035 | ; Allow or prevent persistent links. 1036 | ; http://php.net/odbc.allow-persistent 1037 | odbc.allow_persistent = On 1038 | 1039 | ; Check that a connection is still valid before reuse. 1040 | ; http://php.net/odbc.check-persistent 1041 | odbc.check_persistent = On 1042 | 1043 | ; Maximum number of persistent links. -1 means no limit. 1044 | ; http://php.net/odbc.max-persistent 1045 | odbc.max_persistent = -1 1046 | 1047 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1048 | ; http://php.net/odbc.max-links 1049 | odbc.max_links = -1 1050 | 1051 | ; Handling of LONG fields. Returns number of bytes to variables. 0 means 1052 | ; passthru. 1053 | ; http://php.net/odbc.defaultlrl 1054 | odbc.defaultlrl = 4096 1055 | 1056 | ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. 1057 | ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation 1058 | ; of odbc.defaultlrl and odbc.defaultbinmode 1059 | ; http://php.net/odbc.defaultbinmode 1060 | odbc.defaultbinmode = 1 1061 | 1062 | ;birdstep.max_links = -1 1063 | 1064 | [Interbase] 1065 | ; Allow or prevent persistent links. 1066 | ibase.allow_persistent = 1 1067 | 1068 | ; Maximum number of persistent links. -1 means no limit. 1069 | ibase.max_persistent = -1 1070 | 1071 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1072 | ibase.max_links = -1 1073 | 1074 | ; Default database name for ibase_connect(). 1075 | ;ibase.default_db = 1076 | 1077 | ; Default username for ibase_connect(). 1078 | ;ibase.default_user = 1079 | 1080 | ; Default password for ibase_connect(). 1081 | ;ibase.default_password = 1082 | 1083 | ; Default charset for ibase_connect(). 1084 | ;ibase.default_charset = 1085 | 1086 | ; Default timestamp format. 1087 | ibase.timestampformat = "%Y-%m-%d %H:%M:%S" 1088 | 1089 | ; Default date format. 1090 | ibase.dateformat = "%Y-%m-%d" 1091 | 1092 | ; Default time format. 1093 | ibase.timeformat = "%H:%M:%S" 1094 | 1095 | [MySQL] 1096 | ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements 1097 | ; http://php.net/mysql.allow_local_infile 1098 | mysql.allow_local_infile = On 1099 | 1100 | ; Allow or prevent persistent links. 1101 | ; http://php.net/mysql.allow-persistent 1102 | mysql.allow_persistent = On 1103 | 1104 | ; If mysqlnd is used: Number of cache slots for the internal result set cache 1105 | ; http://php.net/mysql.cache_size 1106 | mysql.cache_size = 2000 1107 | 1108 | ; Maximum number of persistent links. -1 means no limit. 1109 | ; http://php.net/mysql.max-persistent 1110 | mysql.max_persistent = -1 1111 | 1112 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1113 | ; http://php.net/mysql.max-links 1114 | mysql.max_links = -1 1115 | 1116 | ; Default port number for mysql_connect(). If unset, mysql_connect() will use 1117 | ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the 1118 | ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look 1119 | ; at MYSQL_PORT. 1120 | ; http://php.net/mysql.default-port 1121 | mysql.default_port = 1122 | 1123 | ; Default socket name for local MySQL connects. If empty, uses the built-in 1124 | ; MySQL defaults. 1125 | ; http://php.net/mysql.default-socket 1126 | mysql.default_socket = 1127 | 1128 | ; Default host for mysql_connect() (doesn't apply in safe mode). 1129 | ; http://php.net/mysql.default-host 1130 | mysql.default_host = 1131 | 1132 | ; Default user for mysql_connect() (doesn't apply in safe mode). 1133 | ; http://php.net/mysql.default-user 1134 | mysql.default_user = 1135 | 1136 | ; Default password for mysql_connect() (doesn't apply in safe mode). 1137 | ; Note that this is generally a *bad* idea to store passwords in this file. 1138 | ; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") 1139 | ; and reveal this password! And of course, any users with read access to this 1140 | ; file will be able to reveal the password as well. 1141 | ; http://php.net/mysql.default-password 1142 | mysql.default_password = 1143 | 1144 | ; Maximum time (in seconds) for connect timeout. -1 means no limit 1145 | ; http://php.net/mysql.connect-timeout 1146 | mysql.connect_timeout = 60 1147 | 1148 | ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and 1149 | ; SQL-Errors will be displayed. 1150 | ; http://php.net/mysql.trace-mode 1151 | mysql.trace_mode = Off 1152 | 1153 | [MySQLi] 1154 | 1155 | ; Maximum number of persistent links. -1 means no limit. 1156 | ; http://php.net/mysqli.max-persistent 1157 | mysqli.max_persistent = -1 1158 | 1159 | ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements 1160 | ; http://php.net/mysqli.allow_local_infile 1161 | ;mysqli.allow_local_infile = On 1162 | 1163 | ; Allow or prevent persistent links. 1164 | ; http://php.net/mysqli.allow-persistent 1165 | mysqli.allow_persistent = On 1166 | 1167 | ; Maximum number of links. -1 means no limit. 1168 | ; http://php.net/mysqli.max-links 1169 | mysqli.max_links = -1 1170 | 1171 | ; If mysqlnd is used: Number of cache slots for the internal result set cache 1172 | ; http://php.net/mysqli.cache_size 1173 | mysqli.cache_size = 2000 1174 | 1175 | ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use 1176 | ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the 1177 | ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look 1178 | ; at MYSQL_PORT. 1179 | ; http://php.net/mysqli.default-port 1180 | mysqli.default_port = 3306 1181 | 1182 | ; Default socket name for local MySQL connects. If empty, uses the built-in 1183 | ; MySQL defaults. 1184 | ; http://php.net/mysqli.default-socket 1185 | mysqli.default_socket = 1186 | 1187 | ; Default host for mysql_connect() (doesn't apply in safe mode). 1188 | ; http://php.net/mysqli.default-host 1189 | mysqli.default_host = 1190 | 1191 | ; Default user for mysql_connect() (doesn't apply in safe mode). 1192 | ; http://php.net/mysqli.default-user 1193 | mysqli.default_user = 1194 | 1195 | ; Default password for mysqli_connect() (doesn't apply in safe mode). 1196 | ; Note that this is generally a *bad* idea to store passwords in this file. 1197 | ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") 1198 | ; and reveal this password! And of course, any users with read access to this 1199 | ; file will be able to reveal the password as well. 1200 | ; http://php.net/mysqli.default-pw 1201 | mysqli.default_pw = 1202 | 1203 | ; Allow or prevent reconnect 1204 | mysqli.reconnect = Off 1205 | 1206 | [mysqlnd] 1207 | ; Enable / Disable collection of general statistics by mysqlnd which can be 1208 | ; used to tune and monitor MySQL operations. 1209 | ; http://php.net/mysqlnd.collect_statistics 1210 | mysqlnd.collect_statistics = On 1211 | 1212 | ; Enable / Disable collection of memory usage statistics by mysqlnd which can be 1213 | ; used to tune and monitor MySQL operations. 1214 | ; http://php.net/mysqlnd.collect_memory_statistics 1215 | mysqlnd.collect_memory_statistics = Off 1216 | 1217 | ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. 1218 | ; http://php.net/mysqlnd.net_cmd_buffer_size 1219 | ;mysqlnd.net_cmd_buffer_size = 2048 1220 | 1221 | ; Size of a pre-allocated buffer used for reading data sent by the server in 1222 | ; bytes. 1223 | ; http://php.net/mysqlnd.net_read_buffer_size 1224 | ;mysqlnd.net_read_buffer_size = 32768 1225 | 1226 | [OCI8] 1227 | 1228 | ; Connection: Enables privileged connections using external 1229 | ; credentials (OCI_SYSOPER, OCI_SYSDBA) 1230 | ; http://php.net/oci8.privileged-connect 1231 | ;oci8.privileged_connect = Off 1232 | 1233 | ; Connection: The maximum number of persistent OCI8 connections per 1234 | ; process. Using -1 means no limit. 1235 | ; http://php.net/oci8.max-persistent 1236 | ;oci8.max_persistent = -1 1237 | 1238 | ; Connection: The maximum number of seconds a process is allowed to 1239 | ; maintain an idle persistent connection. Using -1 means idle 1240 | ; persistent connections will be maintained forever. 1241 | ; http://php.net/oci8.persistent-timeout 1242 | ;oci8.persistent_timeout = -1 1243 | 1244 | ; Connection: The number of seconds that must pass before issuing a 1245 | ; ping during oci_pconnect() to check the connection validity. When 1246 | ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables 1247 | ; pings completely. 1248 | ; http://php.net/oci8.ping-interval 1249 | ;oci8.ping_interval = 60 1250 | 1251 | ; Connection: Set this to a user chosen connection class to be used 1252 | ; for all pooled server requests with Oracle 11g Database Resident 1253 | ; Connection Pooling (DRCP). To use DRCP, this value should be set to 1254 | ; the same string for all web servers running the same application, 1255 | ; the database pool must be configured, and the connection string must 1256 | ; specify to use a pooled server. 1257 | ;oci8.connection_class = 1258 | 1259 | ; High Availability: Using On lets PHP receive Fast Application 1260 | ; Notification (FAN) events generated when a database node fails. The 1261 | ; database must also be configured to post FAN events. 1262 | ;oci8.events = Off 1263 | 1264 | ; Tuning: This option enables statement caching, and specifies how 1265 | ; many statements to cache. Using 0 disables statement caching. 1266 | ; http://php.net/oci8.statement-cache-size 1267 | ;oci8.statement_cache_size = 20 1268 | 1269 | ; Tuning: Enables statement prefetching and sets the default number of 1270 | ; rows that will be fetched automatically after statement execution. 1271 | ; http://php.net/oci8.default-prefetch 1272 | ;oci8.default_prefetch = 100 1273 | 1274 | ; Compatibility. Using On means oci_close() will not close 1275 | ; oci_connect() and oci_new_connect() connections. 1276 | ; http://php.net/oci8.old-oci-close-semantics 1277 | ;oci8.old_oci_close_semantics = Off 1278 | 1279 | [PostgreSQL] 1280 | ; Allow or prevent persistent links. 1281 | ; http://php.net/pgsql.allow-persistent 1282 | pgsql.allow_persistent = On 1283 | 1284 | ; Detect broken persistent links always with pg_pconnect(). 1285 | ; Auto reset feature requires a little overheads. 1286 | ; http://php.net/pgsql.auto-reset-persistent 1287 | pgsql.auto_reset_persistent = Off 1288 | 1289 | ; Maximum number of persistent links. -1 means no limit. 1290 | ; http://php.net/pgsql.max-persistent 1291 | pgsql.max_persistent = -1 1292 | 1293 | ; Maximum number of links (persistent+non persistent). -1 means no limit. 1294 | ; http://php.net/pgsql.max-links 1295 | pgsql.max_links = -1 1296 | 1297 | ; Ignore PostgreSQL backends Notice message or not. 1298 | ; Notice message logging require a little overheads. 1299 | ; http://php.net/pgsql.ignore-notice 1300 | pgsql.ignore_notice = 0 1301 | 1302 | ; Log PostgreSQL backends Notice message or not. 1303 | ; Unless pgsql.ignore_notice=0, module cannot log notice message. 1304 | ; http://php.net/pgsql.log-notice 1305 | pgsql.log_notice = 0 1306 | 1307 | [Sybase-CT] 1308 | ; Allow or prevent persistent links. 1309 | ; http://php.net/sybct.allow-persistent 1310 | sybct.allow_persistent = On 1311 | 1312 | ; Maximum number of persistent links. -1 means no limit. 1313 | ; http://php.net/sybct.max-persistent 1314 | sybct.max_persistent = -1 1315 | 1316 | ; Maximum number of links (persistent + non-persistent). -1 means no limit. 1317 | ; http://php.net/sybct.max-links 1318 | sybct.max_links = -1 1319 | 1320 | ; Minimum server message severity to display. 1321 | ; http://php.net/sybct.min-server-severity 1322 | sybct.min_server_severity = 10 1323 | 1324 | ; Minimum client message severity to display. 1325 | ; http://php.net/sybct.min-client-severity 1326 | sybct.min_client_severity = 10 1327 | 1328 | ; Set per-context timeout 1329 | ; http://php.net/sybct.timeout 1330 | ;sybct.timeout= 1331 | 1332 | ;sybct.packet_size 1333 | 1334 | ; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. 1335 | ; Default: one minute 1336 | ;sybct.login_timeout= 1337 | 1338 | ; The name of the host you claim to be connecting from, for display by sp_who. 1339 | ; Default: none 1340 | ;sybct.hostname= 1341 | 1342 | ; Allows you to define how often deadlocks are to be retried. -1 means "forever". 1343 | ; Default: 0 1344 | ;sybct.deadlock_retry_count= 1345 | 1346 | [bcmath] 1347 | ; Number of decimal digits for all bcmath functions. 1348 | ; http://php.net/bcmath.scale 1349 | bcmath.scale = 0 1350 | 1351 | [browscap] 1352 | ; http://php.net/browscap 1353 | ;browscap = extra/browscap.ini 1354 | 1355 | [Session] 1356 | ; Handler used to store/retrieve data. 1357 | ; http://php.net/session.save-handler 1358 | session.save_handler = files 1359 | 1360 | ; Argument passed to save_handler. In the case of files, this is the path 1361 | ; where data files are stored. Note: Windows users have to change this 1362 | ; variable in order to use PHP's session functions. 1363 | ; 1364 | ; The path can be defined as: 1365 | ; 1366 | ; session.save_path = "N;/path" 1367 | ; 1368 | ; where N is an integer. Instead of storing all the session files in 1369 | ; /path, what this will do is use subdirectories N-levels deep, and 1370 | ; store the session data in those directories. This is useful if you 1371 | ; or your OS have problems with lots of files in one directory, and is 1372 | ; a more efficient layout for servers that handle lots of sessions. 1373 | ; 1374 | ; NOTE 1: PHP will not create this directory structure automatically. 1375 | ; You can use the script in the ext/session dir for that purpose. 1376 | ; NOTE 2: See the section on garbage collection below if you choose to 1377 | ; use subdirectories for session storage 1378 | ; 1379 | ; The file storage module creates files using mode 600 by default. 1380 | ; You can change that by using 1381 | ; 1382 | ; session.save_path = "N;MODE;/path" 1383 | ; 1384 | ; where MODE is the octal representation of the mode. Note that this 1385 | ; does not overwrite the process's umask. 1386 | ; http://php.net/session.save-path 1387 | ;session.save_path = "/tmp" 1388 | 1389 | ; Whether to use strict session mode. 1390 | ; Strict session mode does not accept uninitialized session ID and regenerate 1391 | ; session ID if browser sends uninitialized session ID. Strict mode protects 1392 | ; applications from session fixation via session adoption vulnerability. It is 1393 | ; disabled by default for maximum compatibility, but enabling it is encouraged. 1394 | ; https://wiki.php.net/rfc/strict_sessions 1395 | session.use_strict_mode = 0 1396 | 1397 | ; Whether to use cookies. 1398 | ; http://php.net/session.use-cookies 1399 | session.use_cookies = 1 1400 | 1401 | ; http://php.net/session.cookie-secure 1402 | ;session.cookie_secure = 1403 | 1404 | ; This option forces PHP to fetch and use a cookie for storing and maintaining 1405 | ; the session id. We encourage this operation as it's very helpful in combating 1406 | ; session hijacking when not specifying and managing your own session id. It is 1407 | ; not the end all be all of session hijacking defense, but it's a good start. 1408 | ; http://php.net/session.use-only-cookies 1409 | session.use_only_cookies = 1 1410 | 1411 | ; Name of the session (used as cookie name). 1412 | ; http://php.net/session.name 1413 | session.name = PHPSESSID 1414 | 1415 | ; Initialize session on request startup. 1416 | ; http://php.net/session.auto-start 1417 | session.auto_start = 0 1418 | 1419 | ; Lifetime in seconds of cookie or, if 0, until browser is restarted. 1420 | ; http://php.net/session.cookie-lifetime 1421 | session.cookie_lifetime = 0 1422 | 1423 | ; The path for which the cookie is valid. 1424 | ; http://php.net/session.cookie-path 1425 | session.cookie_path = / 1426 | 1427 | ; The domain for which the cookie is valid. 1428 | ; http://php.net/session.cookie-domain 1429 | session.cookie_domain = 1430 | 1431 | ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. 1432 | ; http://php.net/session.cookie-httponly 1433 | session.cookie_httponly = 1434 | 1435 | ; Handler used to serialize data. php is the standard serializer of PHP. 1436 | ; http://php.net/session.serialize-handler 1437 | session.serialize_handler = php 1438 | 1439 | ; Defines the probability that the 'garbage collection' process is started 1440 | ; on every session initialization. The probability is calculated by using 1441 | ; gc_probability/gc_divisor. Where session.gc_probability is the numerator 1442 | ; and gc_divisor is the denominator in the equation. Setting this value to 1 1443 | ; when the session.gc_divisor value is 100 will give you approximately a 1% chance 1444 | ; the gc will run on any give request. 1445 | ; Default Value: 1 1446 | ; Development Value: 1 1447 | ; Production Value: 1 1448 | ; http://php.net/session.gc-probability 1449 | session.gc_probability = 1 1450 | 1451 | ; Defines the probability that the 'garbage collection' process is started on every 1452 | ; session initialization. The probability is calculated by using the following equation: 1453 | ; gc_probability/gc_divisor. Where session.gc_probability is the numerator and 1454 | ; session.gc_divisor is the denominator in the equation. Setting this value to 1 1455 | ; when the session.gc_divisor value is 100 will give you approximately a 1% chance 1456 | ; the gc will run on any give request. Increasing this value to 1000 will give you 1457 | ; a 0.1% chance the gc will run on any give request. For high volume production servers, 1458 | ; this is a more efficient approach. 1459 | ; Default Value: 100 1460 | ; Development Value: 1000 1461 | ; Production Value: 1000 1462 | ; http://php.net/session.gc-divisor 1463 | session.gc_divisor = 1000 1464 | 1465 | ; After this number of seconds, stored data will be seen as 'garbage' and 1466 | ; cleaned up by the garbage collection process. 1467 | ; http://php.net/session.gc-maxlifetime 1468 | session.gc_maxlifetime = 1440 1469 | 1470 | ; NOTE: If you are using the subdirectory option for storing session files 1471 | ; (see session.save_path above), then garbage collection does *not* 1472 | ; happen automatically. You will need to do your own garbage 1473 | ; collection through a shell script, cron entry, or some other method. 1474 | ; For example, the following script would is the equivalent of 1475 | ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): 1476 | ; find /path/to/sessions -cmin +24 -type f | xargs rm 1477 | 1478 | ; Check HTTP Referer to invalidate externally stored URLs containing ids. 1479 | ; HTTP_REFERER has to contain this substring for the session to be 1480 | ; considered as valid. 1481 | ; http://php.net/session.referer-check 1482 | session.referer_check = 1483 | 1484 | ; How many bytes to read from the file. 1485 | ; http://php.net/session.entropy-length 1486 | ;session.entropy_length = 32 1487 | 1488 | ; Specified here to create the session id. 1489 | ; http://php.net/session.entropy-file 1490 | ; Defaults to /dev/urandom 1491 | ; On systems that don't have /dev/urandom but do have /dev/arandom, this will default to /dev/arandom 1492 | ; If neither are found at compile time, the default is no entropy file. 1493 | ; On windows, setting the entropy_length setting will activate the 1494 | ; Windows random source (using the CryptoAPI) 1495 | ;session.entropy_file = /dev/urandom 1496 | 1497 | ; Set to {nocache,private,public,} to determine HTTP caching aspects 1498 | ; or leave this empty to avoid sending anti-caching headers. 1499 | ; http://php.net/session.cache-limiter 1500 | session.cache_limiter = nocache 1501 | 1502 | ; Document expires after n minutes. 1503 | ; http://php.net/session.cache-expire 1504 | session.cache_expire = 180 1505 | 1506 | ; trans sid support is disabled by default. 1507 | ; Use of trans sid may risk your users security. 1508 | ; Use this option with caution. 1509 | ; - User may send URL contains active session ID 1510 | ; to other person via. email/irc/etc. 1511 | ; - URL that contains active session ID may be stored 1512 | ; in publicly accessible computer. 1513 | ; - User may access your site with the same session ID 1514 | ; always using URL stored in browser's history or bookmarks. 1515 | ; http://php.net/session.use-trans-sid 1516 | session.use_trans_sid = 0 1517 | 1518 | ; Select a hash function for use in generating session ids. 1519 | ; Possible Values 1520 | ; 0 (MD5 128 bits) 1521 | ; 1 (SHA-1 160 bits) 1522 | ; This option may also be set to the name of any hash function supported by 1523 | ; the hash extension. A list of available hashes is returned by the hash_algos() 1524 | ; function. 1525 | ; http://php.net/session.hash-function 1526 | session.hash_function = 0 1527 | 1528 | ; Define how many bits are stored in each character when converting 1529 | ; the binary hash data to something readable. 1530 | ; Possible values: 1531 | ; 4 (4 bits: 0-9, a-f) 1532 | ; 5 (5 bits: 0-9, a-v) 1533 | ; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") 1534 | ; Default Value: 4 1535 | ; Development Value: 5 1536 | ; Production Value: 5 1537 | ; http://php.net/session.hash-bits-per-character 1538 | session.hash_bits_per_character = 5 1539 | 1540 | ; The URL rewriter will look for URLs in a defined set of HTML tags. 1541 | ; form/fieldset are special; if you include them here, the rewriter will 1542 | ; add a hidden field with the info which is otherwise appended 1543 | ; to URLs. If you want XHTML conformity, remove the form entry. 1544 | ; Note that all valid entries require a "=", even if no value follows. 1545 | ; Default Value: "a=href,area=href,frame=src,form=,fieldset=" 1546 | ; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" 1547 | ; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" 1548 | ; http://php.net/url-rewriter.tags 1549 | url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" 1550 | 1551 | ; Enable upload progress tracking in $_SESSION 1552 | ; Default Value: On 1553 | ; Development Value: On 1554 | ; Production Value: On 1555 | ; http://php.net/session.upload-progress.enabled 1556 | ;session.upload_progress.enabled = On 1557 | 1558 | ; Cleanup the progress information as soon as all POST data has been read 1559 | ; (i.e. upload completed). 1560 | ; Default Value: On 1561 | ; Development Value: On 1562 | ; Production Value: On 1563 | ; http://php.net/session.upload-progress.cleanup 1564 | ;session.upload_progress.cleanup = On 1565 | 1566 | ; A prefix used for the upload progress key in $_SESSION 1567 | ; Default Value: "upload_progress_" 1568 | ; Development Value: "upload_progress_" 1569 | ; Production Value: "upload_progress_" 1570 | ; http://php.net/session.upload-progress.prefix 1571 | ;session.upload_progress.prefix = "upload_progress_" 1572 | 1573 | ; The index name (concatenated with the prefix) in $_SESSION 1574 | ; containing the upload progress information 1575 | ; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" 1576 | ; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" 1577 | ; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" 1578 | ; http://php.net/session.upload-progress.name 1579 | ;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" 1580 | 1581 | ; How frequently the upload progress should be updated. 1582 | ; Given either in percentages (per-file), or in bytes 1583 | ; Default Value: "1%" 1584 | ; Development Value: "1%" 1585 | ; Production Value: "1%" 1586 | ; http://php.net/session.upload-progress.freq 1587 | ;session.upload_progress.freq = "1%" 1588 | 1589 | ; The minimum delay between updates, in seconds 1590 | ; Default Value: 1 1591 | ; Development Value: 1 1592 | ; Production Value: 1 1593 | ; http://php.net/session.upload-progress.min-freq 1594 | ;session.upload_progress.min_freq = "1" 1595 | 1596 | [MSSQL] 1597 | ; Allow or prevent persistent links. 1598 | mssql.allow_persistent = On 1599 | 1600 | ; Maximum number of persistent links. -1 means no limit. 1601 | mssql.max_persistent = -1 1602 | 1603 | ; Maximum number of links (persistent+non persistent). -1 means no limit. 1604 | mssql.max_links = -1 1605 | 1606 | ; Minimum error severity to display. 1607 | mssql.min_error_severity = 10 1608 | 1609 | ; Minimum message severity to display. 1610 | mssql.min_message_severity = 10 1611 | 1612 | ; Compatibility mode with old versions of PHP 3.0. 1613 | mssql.compatibility_mode = Off 1614 | 1615 | ; Connect timeout 1616 | ;mssql.connect_timeout = 5 1617 | 1618 | ; Query timeout 1619 | ;mssql.timeout = 60 1620 | 1621 | ; Valid range 0 - 2147483647. Default = 4096. 1622 | ;mssql.textlimit = 4096 1623 | 1624 | ; Valid range 0 - 2147483647. Default = 4096. 1625 | ;mssql.textsize = 4096 1626 | 1627 | ; Limits the number of records in each batch. 0 = all records in one batch. 1628 | ;mssql.batchsize = 0 1629 | 1630 | ; Specify how datetime and datetim4 columns are returned 1631 | ; On => Returns data converted to SQL server settings 1632 | ; Off => Returns values as YYYY-MM-DD hh:mm:ss 1633 | ;mssql.datetimeconvert = On 1634 | 1635 | ; Use NT authentication when connecting to the server 1636 | mssql.secure_connection = Off 1637 | 1638 | ; Specify max number of processes. -1 = library default 1639 | ; msdlib defaults to 25 1640 | ; FreeTDS defaults to 4096 1641 | ;mssql.max_procs = -1 1642 | 1643 | ; Specify client character set. 1644 | ; If empty or not set the client charset from freetds.conf is used 1645 | ; This is only used when compiled with FreeTDS 1646 | ;mssql.charset = "ISO-8859-1" 1647 | 1648 | [Assertion] 1649 | ; Assert(expr); active by default. 1650 | ; http://php.net/assert.active 1651 | ;assert.active = On 1652 | 1653 | ; Issue a PHP warning for each failed assertion. 1654 | ; http://php.net/assert.warning 1655 | ;assert.warning = On 1656 | 1657 | ; Don't bail out by default. 1658 | ; http://php.net/assert.bail 1659 | ;assert.bail = Off 1660 | 1661 | ; User-function to be called if an assertion fails. 1662 | ; http://php.net/assert.callback 1663 | ;assert.callback = 0 1664 | 1665 | ; Eval the expression with current error_reporting(). Set to true if you want 1666 | ; error_reporting(0) around the eval(). 1667 | ; http://php.net/assert.quiet-eval 1668 | ;assert.quiet_eval = 0 1669 | 1670 | [COM] 1671 | ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs 1672 | ; http://php.net/com.typelib-file 1673 | ;com.typelib_file = 1674 | 1675 | ; allow Distributed-COM calls 1676 | ; http://php.net/com.allow-dcom 1677 | ;com.allow_dcom = true 1678 | 1679 | ; autoregister constants of a components typlib on com_load() 1680 | ; http://php.net/com.autoregister-typelib 1681 | ;com.autoregister_typelib = true 1682 | 1683 | ; register constants casesensitive 1684 | ; http://php.net/com.autoregister-casesensitive 1685 | ;com.autoregister_casesensitive = false 1686 | 1687 | ; show warnings on duplicate constant registrations 1688 | ; http://php.net/com.autoregister-verbose 1689 | ;com.autoregister_verbose = true 1690 | 1691 | ; The default character set code-page to use when passing strings to and from COM objects. 1692 | ; Default: system ANSI code page 1693 | ;com.code_page= 1694 | 1695 | [mbstring] 1696 | ; language for internal character representation. 1697 | ; http://php.net/mbstring.language 1698 | ;mbstring.language = Japanese 1699 | 1700 | ; internal/script encoding. 1701 | ; Some encoding cannot work as internal encoding. 1702 | ; (e.g. SJIS, BIG5, ISO-2022-*) 1703 | ; http://php.net/mbstring.internal-encoding 1704 | ;mbstring.internal_encoding = UTF-8 1705 | 1706 | ; http input encoding. 1707 | ; http://php.net/mbstring.http-input 1708 | ;mbstring.http_input = UTF-8 1709 | 1710 | ; http output encoding. mb_output_handler must be 1711 | ; registered as output buffer to function 1712 | ; http://php.net/mbstring.http-output 1713 | ;mbstring.http_output = pass 1714 | 1715 | ; enable automatic encoding translation according to 1716 | ; mbstring.internal_encoding setting. Input chars are 1717 | ; converted to internal encoding by setting this to On. 1718 | ; Note: Do _not_ use automatic encoding translation for 1719 | ; portable libs/applications. 1720 | ; http://php.net/mbstring.encoding-translation 1721 | ;mbstring.encoding_translation = Off 1722 | 1723 | ; automatic encoding detection order. 1724 | ; auto means 1725 | ; http://php.net/mbstring.detect-order 1726 | ;mbstring.detect_order = auto 1727 | 1728 | ; substitute_character used when character cannot be converted 1729 | ; one from another 1730 | ; http://php.net/mbstring.substitute-character 1731 | ;mbstring.substitute_character = none 1732 | 1733 | ; overload(replace) single byte functions by mbstring functions. 1734 | ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), 1735 | ; etc. Possible values are 0,1,2,4 or combination of them. 1736 | ; For example, 7 for overload everything. 1737 | ; 0: No overload 1738 | ; 1: Overload mail() function 1739 | ; 2: Overload str*() functions 1740 | ; 4: Overload ereg*() functions 1741 | ; http://php.net/mbstring.func-overload 1742 | ;mbstring.func_overload = 0 1743 | 1744 | ; enable strict encoding detection. 1745 | ;mbstring.strict_detection = On 1746 | 1747 | ; This directive specifies the regex pattern of content types for which mb_output_handler() 1748 | ; is activated. 1749 | ; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) 1750 | ;mbstring.http_output_conv_mimetype= 1751 | 1752 | [gd] 1753 | ; Tell the jpeg decode to ignore warnings and try to create 1754 | ; a gd image. The warning will then be displayed as notices 1755 | ; disabled by default 1756 | ; http://php.net/gd.jpeg-ignore-warning 1757 | ;gd.jpeg_ignore_warning = 0 1758 | 1759 | [exif] 1760 | ; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. 1761 | ; With mbstring support this will automatically be converted into the encoding 1762 | ; given by corresponding encode setting. When empty mbstring.internal_encoding 1763 | ; is used. For the decode settings you can distinguish between motorola and 1764 | ; intel byte order. A decode setting cannot be empty. 1765 | ; http://php.net/exif.encode-unicode 1766 | ;exif.encode_unicode = ISO-8859-15 1767 | 1768 | ; http://php.net/exif.decode-unicode-motorola 1769 | ;exif.decode_unicode_motorola = UCS-2BE 1770 | 1771 | ; http://php.net/exif.decode-unicode-intel 1772 | ;exif.decode_unicode_intel = UCS-2LE 1773 | 1774 | ; http://php.net/exif.encode-jis 1775 | ;exif.encode_jis = 1776 | 1777 | ; http://php.net/exif.decode-jis-motorola 1778 | ;exif.decode_jis_motorola = JIS 1779 | 1780 | ; http://php.net/exif.decode-jis-intel 1781 | ;exif.decode_jis_intel = JIS 1782 | 1783 | [Tidy] 1784 | ; The path to a default tidy configuration file to use when using tidy 1785 | ; http://php.net/tidy.default-config 1786 | ;tidy.default_config = /usr/local/lib/php/default.tcfg 1787 | 1788 | ; Should tidy clean and repair output automatically? 1789 | ; WARNING: Do not use this option if you are generating non-html content 1790 | ; such as dynamic images 1791 | ; http://php.net/tidy.clean-output 1792 | tidy.clean_output = Off 1793 | 1794 | [soap] 1795 | ; Enables or disables WSDL caching feature. 1796 | ; http://php.net/soap.wsdl-cache-enabled 1797 | soap.wsdl_cache_enabled=1 1798 | 1799 | ; Sets the directory name where SOAP extension will put cache files. 1800 | ; http://php.net/soap.wsdl-cache-dir 1801 | soap.wsdl_cache_dir="/tmp" 1802 | 1803 | ; (time to live) Sets the number of second while cached file will be used 1804 | ; instead of original one. 1805 | ; http://php.net/soap.wsdl-cache-ttl 1806 | soap.wsdl_cache_ttl=86400 1807 | 1808 | ; Sets the size of the cache limit. (Max. number of WSDL files to cache) 1809 | soap.wsdl_cache_limit = 5 1810 | 1811 | [sysvshm] 1812 | ; A default size of the shared memory segment 1813 | ;sysvshm.init_mem = 10000 1814 | 1815 | [ldap] 1816 | ; Sets the maximum number of open links or -1 for unlimited. 1817 | ldap.max_links = -1 1818 | 1819 | [mcrypt] 1820 | ; For more information about mcrypt settings see http://php.net/mcrypt-module-open 1821 | 1822 | ; Directory where to load mcrypt algorithms 1823 | ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) 1824 | ;mcrypt.algorithms_dir= 1825 | 1826 | ; Directory where to load mcrypt modes 1827 | ; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) 1828 | ;mcrypt.modes_dir= 1829 | 1830 | [dba] 1831 | ;dba.default_handler= 1832 | 1833 | [opcache] 1834 | ; Determines if Zend OPCache is enabled 1835 | ;opcache.enable=0 1836 | 1837 | ; Determines if Zend OPCache is enabled for the CLI version of PHP 1838 | ;opcache.enable_cli=0 1839 | 1840 | ; The OPcache shared memory storage size. 1841 | ;opcache.memory_consumption=64 1842 | 1843 | ; The amount of memory for interned strings in Mbytes. 1844 | ;opcache.interned_strings_buffer=4 1845 | 1846 | ; The maximum number of keys (scripts) in the OPcache hash table. 1847 | ; Only numbers between 200 and 100000 are allowed. 1848 | ;opcache.max_accelerated_files=2000 1849 | 1850 | ; The maximum percentage of "wasted" memory until a restart is scheduled. 1851 | ;opcache.max_wasted_percentage=5 1852 | 1853 | ; When this directive is enabled, the OPcache appends the current working 1854 | ; directory to the script key, thus eliminating possible collisions between 1855 | ; files with the same name (basename). Disabling the directive improves 1856 | ; performance, but may break existing applications. 1857 | ;opcache.use_cwd=1 1858 | 1859 | ; When disabled, you must reset the OPcache manually or restart the 1860 | ; webserver for changes to the filesystem to take effect. 1861 | ;opcache.validate_timestamps=1 1862 | 1863 | ; How often (in seconds) to check file timestamps for changes to the shared 1864 | ; memory storage allocation. ("1" means validate once per second, but only 1865 | ; once per request. "0" means always validate) 1866 | ;opcache.revalidate_freq=2 1867 | 1868 | ; Enables or disables file search in include_path optimization 1869 | ;opcache.revalidate_path=0 1870 | 1871 | ; If disabled, all PHPDoc comments are dropped from the code to reduce the 1872 | ; size of the optimized code. 1873 | ;opcache.save_comments=1 1874 | 1875 | ; If disabled, PHPDoc comments are not loaded from SHM, so "Doc Comments" 1876 | ; may be always stored (save_comments=1), but not loaded by applications 1877 | ; that don't need them anyway. 1878 | ;opcache.load_comments=1 1879 | 1880 | ; If enabled, a fast shutdown sequence is used for the accelerated code 1881 | ;opcache.fast_shutdown=0 1882 | 1883 | ; Allow file existence override (file_exists, etc.) performance feature. 1884 | ;opcache.enable_file_override=0 1885 | 1886 | ; A bitmask, where each bit enables or disables the appropriate OPcache 1887 | ; passes 1888 | ;opcache.optimization_level=0xffffffff 1889 | 1890 | ;opcache.inherited_hack=1 1891 | ;opcache.dups_fix=0 1892 | 1893 | ; The location of the OPcache blacklist file (wildcards allowed). 1894 | ; Each OPcache blacklist file is a text file that holds the names of files 1895 | ; that should not be accelerated. The file format is to add each filename 1896 | ; to a new line. The filename may be a full path or just a file prefix 1897 | ; (i.e., /var/www/x blacklists all the files and directories in /var/www 1898 | ; that start with 'x'). Line starting with a ; are ignored (comments). 1899 | ;opcache.blacklist_filename= 1900 | 1901 | ; Allows exclusion of large files from being cached. By default all files 1902 | ; are cached. 1903 | ;opcache.max_file_size=0 1904 | 1905 | ; Check the cache checksum each N requests. 1906 | ; The default value of "0" means that the checks are disabled. 1907 | ;opcache.consistency_checks=0 1908 | 1909 | ; How long to wait (in seconds) for a scheduled restart to begin if the cache 1910 | ; is not being accessed. 1911 | ;opcache.force_restart_timeout=180 1912 | 1913 | ; OPcache error_log file name. Empty string assumes "stderr". 1914 | ;opcache.error_log= 1915 | 1916 | ; All OPcache errors go to the Web server log. 1917 | ; By default, only fatal errors (level 0) or errors (level 1) are logged. 1918 | ; You can also enable warnings (level 2), info messages (level 3) or 1919 | ; debug messages (level 4). 1920 | ;opcache.log_verbosity_level=1 1921 | 1922 | ; Preferred Shared Memory back-end. Leave empty and let the system decide. 1923 | ;opcache.preferred_memory_model= 1924 | 1925 | ; Protect the shared memory from unexpected writing during script execution. 1926 | ; Useful for internal debugging only. 1927 | ;opcache.protect_memory=0 1928 | 1929 | [curl] 1930 | ; A default value for the CURLOPT_CAINFO option. This is required to be an 1931 | ; absolute path. 1932 | ;curl.cainfo = 1933 | 1934 | ; Local Variables: 1935 | ; tab-width: 4 1936 | ; End: 1937 | -------------------------------------------------------------------------------- /docker-compose.travis.yml: -------------------------------------------------------------------------------- 1 | magento2: 2 | build: . 3 | ports: 4 | - "8080:80" 5 | links: 6 | - db 7 | - selenium 8 | db: 9 | image: mysql:5.6 10 | environment: 11 | - MYSQL_ROOT_PASSWORD=magento2 12 | selenium: 13 | image: selenium/standalone-firefox 14 | --------------------------------------------------------------------------------