diff --git a/boilerplates/php.dev.boilerplate/README.md b/boilerplates/php.dev.boilerplate/README.md index 1d8f5725a00a5cd1c994dfb781927732d9f32ce6..93aa552125ac97aa766df38db7731209e834949d 100644 --- a/boilerplates/php.dev.boilerplate/README.md +++ b/boilerplates/php.dev.boilerplate/README.md @@ -26,17 +26,16 @@ $ docker-compose -f docker-compose.yml start ### machine(s) php -* un ou plusieurs services php/apache -* basés sur les images `canals/php`, les tags `:5.6` et `:7.1` sont utilisables +* un ou plusieurs services php/apache ou php-cli +* basés sur les images `canals/php`, les tags `:5.6`, `:7.1` et `7.1-cli` sont utilisables * pour plus de détails, voir la [doc](https://hub.docker.com/r/canals/php/) * conseils : utiliser les vhost et les déclarer dans votre `/etc/hosts` -* attention au nommage des containers lorsque l'on utilise plusieurs services de même type * attention aux numéros de ports lorsque l'on utilise plusieurs services de même type * pour transmettre des variables d'environnement aux containers, utiliser le chapitre env_file et définir les variables dans le fichier web.env - Typiquement : http_proxy et https_proxy pour l'usage derrière un proxy -####exemple : +####exemple : service php basé sur apache ``` services: web: @@ -48,7 +47,7 @@ services: ports: - "5080:80" - "5543:443" - env_file: +# env_file: # - ./webenv.env volumes : - ./web:/var/www/web @@ -61,6 +60,21 @@ services: # - mailcatcher:mail # - postgres:pg ``` +####exemple : service php-cli avec lancement du serveur embarqué : +``` +services: + php: + image: canals/php:7.1-cli + ports: + - "8800:8000" + volumes: + - ./:/var/php + working_dir: /var/php + command: php -S 0.0.0.0:8000 web/index-cli.php + links : + - mysql:db + - mongo:mongo +``` ### mysql + adminer diff --git a/boilerplates/php.dev.boilerplate/docker-compose.yml b/boilerplates/php.dev.boilerplate/docker-compose.yml index 9713d9c2406a301986ce711e6d2cc4aee661f001..d8a9121c264e4b344e43fd884ee2004078fb70ea 100644 --- a/boilerplates/php.dev.boilerplate/docker-compose.yml +++ b/boilerplates/php.dev.boilerplate/docker-compose.yml @@ -1,4 +1,9 @@ version: "3" + +networks: + local_network: + driver: bridge + services: web: image: canals/php @@ -9,13 +14,36 @@ services: ports: - "5080:80" - "5543:443" - env_file: - # - ./webenv.env +# env_file: +# - ./webenv.env volumes : - ./web:/var/www/web - ./src:/var/www/src - ./html:/var/www/html - data:/var/www/data + networks: + - local_network + links : + - mysql:db +# - mongo:mongo +# - mail:mail +# - postgres:pg + + php: + image: canals/php7.1-cli + container_name: php.local + expose: + - "8000" + ports: + - "8800:8000" +# env_file: +# - ./webenv.env + volumes: + - ./:/var/php + working_dir: /var/php + networks: + - local_network + command: php -S localhost:8000 index.php links : - mysql:db # - mongo:mongo @@ -33,7 +61,9 @@ services: - MYSQL_ROOT_PASSWORD=root - MYSQL_USER=user - MYSQL_PASSWORD=user -# - MYSQL_DATABASE=mydatab + - MYSQL_DATABASE=mydatab + networks: + - local_network ports: - "3603:3306" volumes : @@ -44,6 +74,8 @@ services: container_name: adminer.dev.local ports: - "8080:8080" + networks: + - local_network links: - mysql:db @@ -66,6 +98,8 @@ services: # - ./api:/var/www/api # - ./src:/var/www/src # - ./html:/var/www/html +# networks: +# - local_network # links : # - mysql:db @@ -78,12 +112,16 @@ services: # environment : # - POSTGRES_PASSWORD = pgroot # - POSTGRES_USER = pguser +# networks: +# - local_network # ports: # - "5432:5432" # adminer-pg: # image: adminer # container_name: adminer_pg.dev.local +# networks: +# - local_network # ports: # - "8088:8080" # links: @@ -96,12 +134,16 @@ services: ## mongo: # image: mongo:3.4 # container_name: mongo.dev.local +# networks: +# - local_network # ports: -# - 27017:27017 +# - 27017:27017 # mongo-express: # image: mongo-express:latest # container_name: mongo_express.dev.local +# networks: +# - local_network # ports: # - "8081:8081" # links: @@ -113,6 +155,8 @@ services: ## mail: # image: schickling/mailcatcher # container_name: mail.dev.local +# networks: +# - local_network # ports: # - "1080:1080" diff --git a/boilerplates/php.dev.boilerplate/php.dev.boilerplate.test/docker-compose-test-php-cli.yml b/boilerplates/php.dev.boilerplate/php.dev.boilerplate.test/docker-compose-test-php-cli.yml new file mode 100644 index 0000000000000000000000000000000000000000..425babef7976d37a74500b1786a6b5d12b8a18ca --- /dev/null +++ b/boilerplates/php.dev.boilerplate/php.dev.boilerplate.test/docker-compose-test-php-cli.yml @@ -0,0 +1,137 @@ +version: "3" + +networks: + local_network: + driver: bridge + +services: + php: + image: canals/php:7.1-cli + expose: + - "8000" + ports: + - "8800:8000" + volumes: + - ./:/var/php + working_dir: /var/php + networks: + - local_network + command: php -S 0.0.0.0:8000 web/index-cli.php + links : + - mysql:db + - mongo:mongo +# - mail:mail +# - postgres:pg + +############################# +# mysql + adminer / can be replaced by mariadb +############################# + mysql: +# image: mysql:5.6 + image: mariadb:latest + environment: + - MYSQL_ROOT_PASSWORD=root66 + - MYSQL_USER=user + - MYSQL_PASSWORD=user + - MYSQL_DATABASE=mydatab + networks: + - local_network + ports: + - "3603:3306" + volumes : + - ./sql:/var/sql + + adminer: + image: adminer + ports: + - "8080:8080" + networks: + - local_network + links: + - mysql:db + + + +############################################## +# A second php service +############################################## + +# api: +# image: canals/php +# container_name: api +## environment: +# - VHOST_HOSTNAME=api.local +# - VHOST_DOCROOT=/var/www/api +# ports: +# - "6080:80" +# - "6443:443" +# volumes : +# - ./api:/var/www/api +# - ./src:/var/www/src +# - ./html:/var/www/html +# networks: +# - local_network +# links : +# - mysql:db + +################################## +# postgres + adminer +################################### +# postgres: +# image: postgres +# container_name: postgres.local +# environment : +# - POSTGRES_PASSWORD = pgroot +# - POSTGRES_USER = pguser +# networks: +# - local_network +# ports: +# - "5432:5432" + +# adminer-pg: +# image: adminer +# container_name: adminer_pg.dev.local +# networks: +# - local_network +# ports: +# - "8088:8080" +# links: +# - postgres:db +# + +################################################ +# mongodb & mongo-express +############################################### + mongo: + image: mongo:3.4 + networks: + - local_network + ports: + - 27017:27017 + + mongo-express: + image: mongo-express:latest + networks: + - local_network + ports: + - "8081:8081" + links: + - mongo:mongo + +############################################## +# mailcatcher +############################################## +## mail: +# image: schickling/mailcatcher +# container_name: mail.dev.local +# networks: +# - local_network +# ports: +# - "1080:1080" + +######################################## +# shared storage : useful for, e.g. sharing +# uploaded documents (img, others) between multiple services +######################################## +volumes: + data: \ No newline at end of file diff --git a/boilerplates/php.dev.boilerplate/php.dev.boilerplate.test/src/vendor/composer/autoload_static.php b/boilerplates/php.dev.boilerplate/php.dev.boilerplate.test/src/vendor/composer/autoload_static.php index 4ba631533e14f1529f3cfa354860a37f1d9deb07..67bf5bdbc19fbf9e054d0547aa8cba70722f89f0 100644 --- a/boilerplates/php.dev.boilerplate/php.dev.boilerplate.test/src/vendor/composer/autoload_static.php +++ b/boilerplates/php.dev.boilerplate/php.dev.boilerplate.test/src/vendor/composer/autoload_static.php @@ -7,8 +7,8 @@ namespace Composer\Autoload; class ComposerStaticInit3699d1e5addcaee78662800cf92c71ce { public static $files = array ( - '3a37ebac017bc098e9a86b35401e7a68' => __DIR__ . '/..', - '2c102faa651ef8ea5874edb585946bce' => __DIR__ . '/..', + '3a37ebac017bc098e9a86b35401e7a68' => __DIR__ . '/..' . '/mongodb/mongodb/src/functions.php', + '2c102faa651ef8ea5874edb585946bce' => __DIR__ . '/..' . '/swiftmailer/swiftmailer/lib/swift_required.php', ); public static $prefixLengthsPsr4 = array ( @@ -25,11 +25,11 @@ class ComposerStaticInit3699d1e5addcaee78662800cf92c71ce public static $prefixDirsPsr4 = array ( 'test\\' => array ( - 0 => __DIR__ . '/../..', + 0 => __DIR__ . '/../..' . '/', ), 'MongoDB\\' => array ( - 0 => __DIR__ . '/..', + 0 => __DIR__ . '/..' . '/mongodb/mongodb/src', ), ); diff --git a/boilerplates/php.dev.boilerplate/php.dev.boilerplate.test/web/index-cli.php b/boilerplates/php.dev.boilerplate/php.dev.boilerplate.test/web/index-cli.php new file mode 100644 index 0000000000000000000000000000000000000000..f53520c017273c104ab7c7918aa712fca50c8855 --- /dev/null +++ b/boilerplates/php.dev.boilerplate/php.dev.boilerplate.test/web/index-cli.php @@ -0,0 +1,40 @@ +<?php +/** + * File: index.php + * Creation Date: 23/06/2017 + * description: + * + * @author: canals + */ +require __DIR__ . '/../src/vendor/autoload.php'; +require_once __DIR__ . '/../src/sample.php'; + +print "request uri : " . $_SERVER['REQUEST_URI'] . "<br>"; +print "request method " . $_SERVER['REQUEST_METHOD']. "<br><br>"; + +print "<h2>connexion mysql-mariadb :</h2>" . "<br>"; +try { + $pdo = new PDO( 'mysql:host=db;dbname=mysql', 'root', 'root66'); +} catch (PDOException $e) { + print 'erreur connexion mysql : ' . $e->getMessage() . '<br>' ; + die(); +} + +print 'connexion etablie <br>'; + +foreach ($pdo->query('select host, user from user') as $row) { + print $row['host'] . ' : ' . $row['user'] . '<br>'; +}; + +print "<br><h2>connexion mongo :</h2>" . "<br>"; + +$client = new MongoDB\Client("mongodb://mongo:27017"); +$collection = $client->demo->beers; + +$result = $collection->insertOne( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] ); + +echo "Inserted with Object ID '{$result->getInsertedId()}'" . '<br>'; + +$result = $collection->insertOne( [ 'name' => 'Houblon Chouffe', 'brewery' => 'Brasserie d\'Achouffe' ] ); + +echo "Inserted with Object ID '{$result->getInsertedId()}'"; \ No newline at end of file diff --git a/boilerplates/php.dev.boilerplate/php.dev.boilerplate.test/web/mysql.php b/boilerplates/php.dev.boilerplate/php.dev.boilerplate.test/web/mysql.php index 17eedd1e76eaa778e2400ac4ecf4746a970bcc70..c98df29ba25e0fc56b66fa552e430ea0f265134b 100644 --- a/boilerplates/php.dev.boilerplate/php.dev.boilerplate.test/web/mysql.php +++ b/boilerplates/php.dev.boilerplate/php.dev.boilerplate.test/web/mysql.php @@ -8,7 +8,7 @@ */ try { - $pdo = new PDO( 'mysql:host=db;dbname=mysql', 'root', 'root'); + $pdo = new PDO( 'mysql:host=db;dbname=mysql', 'root', 'root66'); } catch (PDOException $e) { print 'erreur connexion mysql : ' . $e->getMessage() . '<br>' ; die(); diff --git a/php/7.1-cli/Dockerfile b/php/7.1-cli/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..a25380f5bddb0989b62a68a955ea8cbb082bec76 --- /dev/null +++ b/php/7.1-cli/Dockerfile @@ -0,0 +1,45 @@ +# Use an official Python runtime as a base image +FROM php:7.1-cli + +RUN apt-get update && \ + apt-get install --yes --force-yes \ + cron g++ gettext libicu-dev openssl \ + libc-client-dev libkrb5-dev \ + libxml2-dev libfreetype6-dev \ + libgd-dev libmcrypt-dev bzip2 \ + libbz2-dev libtidy-dev libcurl4-openssl-dev \ + libz-dev libmemcached-dev libxslt-dev git-core libpq-dev + + +# PHP Configuration +RUN docker-php-ext-install bcmath bz2 calendar dba exif gettext intl soap tidy xmlrpc xsl zip&&\ + docker-php-ext-install mysqli pgsql pdo pdo_mysql pdo_pgsql &&\ + docker-php-ext-configure gd --with-freetype-dir=/usr --with-jpeg-dir=/usr &&\ + docker-php-ext-install gd &&\ + docker-php-ext-configure imap --with-kerberos --with-imap-ssl &&\ + docker-php-ext-install imap &&\ + docker-php-ext-configure hash --with-mhash &&\ + pecl install xdebug && docker-php-ext-enable xdebug &&\ + pecl install mongodb && docker-php-ext-enable mongodb &&\ + pecl install redis && docker-php-ext-enable redis && \ + curl -sS https://getcomposer.org/installer | php \ + && mv composer.phar /usr/bin/composer + +# Apache Configuration +#RUN a2enmod rewrite + +# SSL +#RUN mv /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/000-default-ssl.conf &&\ +# a2enmod ssl && \ +# a2ensite 000-default-ssl &&\ +# openssl req -subj '/CN=example.com/O=My Company Name LTD./C=US' -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout /etc/ssl/private/ssl-cert-snakeoil.key -out /etc/ssl/certs/ssl-cert-snakeoil.pem +# +#EXPOSE 443 + +# Imagemagick +RUN apt-get install --yes --force-yes libmagickwand-dev libmagickcore-dev +RUN yes '' | pecl install -f imagick &&\ + docker-php-ext-enable imagick + +#COPY create_vhost start /usr/local/bin/ +COPY php.ini /usr/local/etc/php/ diff --git a/php/7.1-cli/README.md b/php/7.1-cli/README.md new file mode 100644 index 0000000000000000000000000000000000000000..051e5379538981e626ff5fee08746aa7659433bc --- /dev/null +++ b/php/7.1-cli/README.md @@ -0,0 +1,5 @@ +# canals/php:7.1-cli, latest + +##Image docker PHP +Basée sur l'iamge officielle `php:7.1-cli` + diff --git a/php/7.1-cli/php.ini b/php/7.1-cli/php.ini new file mode 100644 index 0000000000000000000000000000000000000000..94302b9a0c9daa509b12ddedda9a3391aa36eb88 --- /dev/null +++ b/php/7.1-cli/php.ini @@ -0,0 +1,1090 @@ +[PHP] + + +;;;;;;;;;;;;;;;;;;;; +; Language Options ; +;;;;;;;;;;;;;;;;;;;; + + +engine = On +short_open_tag = Off +precision = 14 +output_buffering = 4096 +zlib.output_compression = Off +implicit_flush = Off + +;;;;;;;;;;;;;;;;; +; Miscellaneous ; +;;;;;;;;;;;;;;;;; + +expose_php = On + +;;;;;;;;;;;;;;;;;;; +; Resource Limits ; +;;;;;;;;;;;;;;;;;;; + +max_execution_time = 60 +max_input_time = 60 +memory_limit = 512M + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; Error handling and logging ; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +error_reporting = E_ALL +display_errors = On +display_startup_errors = On +log_errors = On +log_errors_max_len = 1024 +ignore_repeated_errors = Off +ignore_repeated_source = Off +report_memleaks = On +track_errors = On + +html_errors = On + + +;;;;;;;;;;;;;;;;; +; Data Handling ; +;;;;;;;;;;;;;;;;; + +variables_order = "GPCS" + +request_order = "GP" + +register_argc_argv = Off +auto_globals_jit = On + +post_max_size = 16M +default_mimetype = "text/html" +default_charset = "UTF-8" + +;;;;;;;;;;;;;;;;;;;;;;;;; +; Paths and Directories ; +;;;;;;;;;;;;;;;;;;;;;;;;; +enable_dl = Off + +;;;;;;;;;;;;;;;; +; File Uploads ; +;;;;;;;;;;;;;;;; + +file_uploads = On +upload_max_filesize = 8M +max_file_uploads = 25 + +;;;;;;;;;;;;;;;;;; +; Fopen wrappers ; +;;;;;;;;;;;;;;;;;; +allow_url_fopen = On + +allow_url_include = Off + +default_socket_timeout = 60 + + +;;;;;;;;;;;;;;;;;;; +; Module Settings ; +;;;;;;;;;;;;;;;;;;; + +[CLI Server] +; Whether the CLI web server uses ANSI color coding in its terminal output. +cli_server.color = On + +[Date] +; Defines the default timezone used by the date functions +; http://php.net/date.timezone +;date.timezone = + +; http://php.net/date.default-latitude +;date.default_latitude = 31.7667 + +; http://php.net/date.default-longitude +;date.default_longitude = 35.2333 + +; http://php.net/date.sunrise-zenith +;date.sunrise_zenith = 90.583333 + +; http://php.net/date.sunset-zenith +;date.sunset_zenith = 90.583333 + +[filter] +; http://php.net/filter.default +;filter.default = unsafe_raw + +; http://php.net/filter.default-flags +;filter.default_flags = + +[iconv] +; Use of this INI entry is deprecated, use global input_encoding instead. +; If empty, default_charset or input_encoding or iconv.input_encoding is used. +; The precedence is: default_charset < intput_encoding < iconv.input_encoding +;iconv.input_encoding = + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;iconv.internal_encoding = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; If empty, default_charset or output_encoding or iconv.output_encoding is used. +; The precedence is: default_charset < output_encoding < iconv.output_encoding +; To use an output encoding conversion, iconv's output handler must be set +; otherwise output encoding conversion cannot be performed. +;iconv.output_encoding = + +[intl] +;intl.default_locale = +; This directive allows you to produce PHP errors when some error +; happens within intl functions. The value is the level of the error produced. +; Default is 0, which does not produce any errors. +;intl.error_level = E_WARNING +;intl.use_exceptions = 0 + +[sqlite3] +;sqlite3.extension_dir = + +[Pcre] +;PCRE library backtracking limit. +; http://php.net/pcre.backtrack-limit +;pcre.backtrack_limit=100000 + +;PCRE library recursion limit. +;Please note that if you set this value to a high number you may consume all +;the available process stack and eventually crash PHP (due to reaching the +;stack size limit imposed by the Operating System). +; http://php.net/pcre.recursion-limit +;pcre.recursion_limit=100000 + +;Enables or disables JIT compilation of patterns. This requires the PCRE +;library to be compiled with JIT support. +;pcre.jit=1 + +[Pdo] +; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" +; http://php.net/pdo-odbc.connection-pooling +;pdo_odbc.connection_pooling=strict + +;pdo_odbc.db2_instance_name + +[Pdo_mysql] +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/pdo_mysql.cache_size +pdo_mysql.cache_size = 2000 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/pdo_mysql.default-socket +pdo_mysql.default_socket= + +[Phar] +; http://php.net/phar.readonly +;phar.readonly = On + +; http://php.net/phar.require-hash +;phar.require_hash = On + +;phar.cache_list = + +[mail function] +; For Win32 only. +; http://php.net/smtp +SMTP = localhost +; http://php.net/smtp-port +smtp_port = 25 + +; For Win32 only. +; http://php.net/sendmail-from +;sendmail_from = me@example.com + +; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). +; http://php.net/sendmail-path +;sendmail_path = + +; Force the addition of the specified parameters to be passed as extra parameters +; to the sendmail binary. These parameters will always replace the value of +; the 5th parameter to mail(). +;mail.force_extra_parameters = + +; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename +mail.add_x_header = On + +; The path to a log file that will log all mail() calls. Log entries include +; the full path of the script, line number, To address and headers. +;mail.log = +; Log mail to syslog (Event Log on Windows). +;mail.log = syslog + +[SQL] +; http://php.net/sql.safe-mode +sql.safe_mode = Off + +[ODBC] +; http://php.net/odbc.default-db +;odbc.default_db = Not yet implemented + +; http://php.net/odbc.default-user +;odbc.default_user = Not yet implemented + +; http://php.net/odbc.default-pw +;odbc.default_pw = Not yet implemented + +; Controls the ODBC cursor model. +; Default: SQL_CURSOR_STATIC (default). +;odbc.default_cursortype + +; Allow or prevent persistent links. +; http://php.net/odbc.allow-persistent +odbc.allow_persistent = On + +; Check that a connection is still valid before reuse. +; http://php.net/odbc.check-persistent +odbc.check_persistent = On + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/odbc.max-persistent +odbc.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +; http://php.net/odbc.max-links +odbc.max_links = -1 + +; Handling of LONG fields. Returns number of bytes to variables. 0 means +; passthru. +; http://php.net/odbc.defaultlrl +odbc.defaultlrl = 4096 + +; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. +; See the documentation on odbc_binmode and odbc_longreadlen for an explanation +; of odbc.defaultlrl and odbc.defaultbinmode +; http://php.net/odbc.defaultbinmode +odbc.defaultbinmode = 1 + +;birdstep.max_links = -1 + +[Interbase] +; Allow or prevent persistent links. +ibase.allow_persistent = 1 + +; Maximum number of persistent links. -1 means no limit. +ibase.max_persistent = -1 + +; Maximum number of links (persistent + non-persistent). -1 means no limit. +ibase.max_links = -1 + +; Default database name for ibase_connect(). +;ibase.default_db = + +; Default username for ibase_connect(). +;ibase.default_user = + +; Default password for ibase_connect(). +;ibase.default_password = + +; Default charset for ibase_connect(). +;ibase.default_charset = + +; Default timestamp format. +ibase.timestampformat = "%Y-%m-%d %H:%M:%S" + +; Default date format. +ibase.dateformat = "%Y-%m-%d" + +; Default time format. +ibase.timeformat = "%H:%M:%S" + +[MySQLi] + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/mysqli.max-persistent +mysqli.max_persistent = -1 + +; Allow accessing, from PHP's perspective, local files with LOAD DATA statements +; http://php.net/mysqli.allow_local_infile +;mysqli.allow_local_infile = On + +; Allow or prevent persistent links. +; http://php.net/mysqli.allow-persistent +mysqli.allow_persistent = On + +; Maximum number of links. -1 means no limit. +; http://php.net/mysqli.max-links +mysqli.max_links = -1 + +; If mysqlnd is used: Number of cache slots for the internal result set cache +; http://php.net/mysqli.cache_size +mysqli.cache_size = 2000 + +; Default port number for mysqli_connect(). If unset, mysqli_connect() will use +; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the +; compile-time value defined MYSQL_PORT (in that order). Win32 will only look +; at MYSQL_PORT. +; http://php.net/mysqli.default-port +mysqli.default_port = 3306 + +; Default socket name for local MySQL connects. If empty, uses the built-in +; MySQL defaults. +; http://php.net/mysqli.default-socket +mysqli.default_socket = + +; Default host for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-host +mysqli.default_host = + +; Default user for mysql_connect() (doesn't apply in safe mode). +; http://php.net/mysqli.default-user +mysqli.default_user = + +; Default password for mysqli_connect() (doesn't apply in safe mode). +; Note that this is generally a *bad* idea to store passwords in this file. +; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") +; and reveal this password! And of course, any users with read access to this +; file will be able to reveal the password as well. +; http://php.net/mysqli.default-pw +mysqli.default_pw = + +; Allow or prevent reconnect +mysqli.reconnect = Off + +[mysqlnd] +; Enable / Disable collection of general statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_statistics +mysqlnd.collect_statistics = On + +; Enable / Disable collection of memory usage statistics by mysqlnd which can be +; used to tune and monitor MySQL operations. +; http://php.net/mysqlnd.collect_memory_statistics +mysqlnd.collect_memory_statistics = On + +; Records communication from all extensions using mysqlnd to the specified log +; file. +; http://php.net/mysqlnd.debug +;mysqlnd.debug = + +; Defines which queries will be logged. +; http://php.net/mysqlnd.log_mask +;mysqlnd.log_mask = 0 + +; Default size of the mysqlnd memory pool, which is used by result sets. +; http://php.net/mysqlnd.mempool_default_size +;mysqlnd.mempool_default_size = 16000 + +; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. +; http://php.net/mysqlnd.net_cmd_buffer_size +;mysqlnd.net_cmd_buffer_size = 2048 + +; Size of a pre-allocated buffer used for reading data sent by the server in +; bytes. +; http://php.net/mysqlnd.net_read_buffer_size +;mysqlnd.net_read_buffer_size = 32768 + +; Timeout for network requests in seconds. +; http://php.net/mysqlnd.net_read_timeout +;mysqlnd.net_read_timeout = 31536000 + +; SHA-256 Authentication Plugin related. File with the MySQL server public RSA +; key. +; http://php.net/mysqlnd.sha256_server_public_key +;mysqlnd.sha256_server_public_key = + +[OCI8] + +; Connection: Enables privileged connections using external +; credentials (OCI_SYSOPER, OCI_SYSDBA) +; http://php.net/oci8.privileged-connect +;oci8.privileged_connect = Off + +; Connection: The maximum number of persistent OCI8 connections per +; process. Using -1 means no limit. +; http://php.net/oci8.max-persistent +;oci8.max_persistent = -1 + +; Connection: The maximum number of seconds a process is allowed to +; maintain an idle persistent connection. Using -1 means idle +; persistent connections will be maintained forever. +; http://php.net/oci8.persistent-timeout +;oci8.persistent_timeout = -1 + +; Connection: The number of seconds that must pass before issuing a +; ping during oci_pconnect() to check the connection validity. When +; set to 0, each oci_pconnect() will cause a ping. Using -1 disables +; pings completely. +; http://php.net/oci8.ping-interval +;oci8.ping_interval = 60 + +; Connection: Set this to a user chosen connection class to be used +; for all pooled server requests with Oracle 11g Database Resident +; Connection Pooling (DRCP). To use DRCP, this value should be set to +; the same string for all web servers running the same application, +; the database pool must be configured, and the connection string must +; specify to use a pooled server. +;oci8.connection_class = + +; High Availability: Using On lets PHP receive Fast Application +; Notification (FAN) events generated when a database node fails. The +; database must also be configured to post FAN events. +;oci8.events = Off + +; Tuning: This option enables statement caching, and specifies how +; many statements to cache. Using 0 disables statement caching. +; http://php.net/oci8.statement-cache-size +;oci8.statement_cache_size = 20 + +; Tuning: Enables statement prefetching and sets the default number of +; rows that will be fetched automatically after statement execution. +; http://php.net/oci8.default-prefetch +;oci8.default_prefetch = 100 + +; Compatibility. Using On means oci_close() will not close +; oci_connect() and oci_new_connect() connections. +; http://php.net/oci8.old-oci-close-semantics +;oci8.old_oci_close_semantics = Off + +[PostgreSQL] +; Allow or prevent persistent links. +; http://php.net/pgsql.allow-persistent +pgsql.allow_persistent = On + +; Detect broken persistent links always with pg_pconnect(). +; Auto reset feature requires a little overheads. +; http://php.net/pgsql.auto-reset-persistent +pgsql.auto_reset_persistent = Off + +; Maximum number of persistent links. -1 means no limit. +; http://php.net/pgsql.max-persistent +pgsql.max_persistent = -1 + +; Maximum number of links (persistent+non persistent). -1 means no limit. +; http://php.net/pgsql.max-links +pgsql.max_links = -1 + +; Ignore PostgreSQL backends Notice message or not. +; Notice message logging require a little overheads. +; http://php.net/pgsql.ignore-notice +pgsql.ignore_notice = 0 + +; Log PostgreSQL backends Notice message or not. +; Unless pgsql.ignore_notice=0, module cannot log notice message. +; http://php.net/pgsql.log-notice +pgsql.log_notice = 0 + +[bcmath] +; Number of decimal digits for all bcmath functions. +; http://php.net/bcmath.scale +bcmath.scale = 0 + +[browscap] +; http://php.net/browscap +;browscap = extra/browscap.ini + +[Session] +; Handler used to store/retrieve data. +; http://php.net/session.save-handler +session.save_handler = files + +; Argument passed to save_handler. In the case of files, this is the path +; where data files are stored. Note: Windows users have to change this +; variable in order to use PHP's session functions. +; +; The path can be defined as: +; +; session.save_path = "N;/path" +; +; where N is an integer. Instead of storing all the session files in +; /path, what this will do is use subdirectories N-levels deep, and +; store the session data in those directories. This is useful if +; your OS has problems with many files in one directory, and is +; a more efficient layout for servers that handle many sessions. +; +; NOTE 1: PHP will not create this directory structure automatically. +; You can use the script in the ext/session dir for that purpose. +; NOTE 2: See the section on garbage collection below if you choose to +; use subdirectories for session storage +; +; The file storage module creates files using mode 600 by default. +; You can change that by using +; +; session.save_path = "N;MODE;/path" +; +; where MODE is the octal representation of the mode. Note that this +; does not overwrite the process's umask. +; http://php.net/session.save-path +;session.save_path = "/tmp" + +; Whether to use strict session mode. +; Strict session mode does not accept uninitialized session ID and regenerate +; session ID if browser sends uninitialized session ID. Strict mode protects +; applications from session fixation via session adoption vulnerability. It is +; disabled by default for maximum compatibility, but enabling it is encouraged. +; https://wiki.php.net/rfc/strict_sessions +session.use_strict_mode = 0 + +; Whether to use cookies. +; http://php.net/session.use-cookies +session.use_cookies = 1 + +; http://php.net/session.cookie-secure +;session.cookie_secure = + +; This option forces PHP to fetch and use a cookie for storing and maintaining +; the session id. We encourage this operation as it's very helpful in combating +; session hijacking when not specifying and managing your own session id. It is +; not the be-all and end-all of session hijacking defense, but it's a good start. +; http://php.net/session.use-only-cookies +session.use_only_cookies = 1 + +; Name of the session (used as cookie name). +; http://php.net/session.name +session.name = PHPSESSID + +; Initialize session on request startup. +; http://php.net/session.auto-start +session.auto_start = 0 + +; Lifetime in seconds of cookie or, if 0, until browser is restarted. +; http://php.net/session.cookie-lifetime +session.cookie_lifetime = 0 + +; The path for which the cookie is valid. +; http://php.net/session.cookie-path +session.cookie_path = / + +; The domain for which the cookie is valid. +; http://php.net/session.cookie-domain +session.cookie_domain = + +; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. +; http://php.net/session.cookie-httponly +session.cookie_httponly = + +; Handler used to serialize data. php is the standard serializer of PHP. +; http://php.net/session.serialize-handler +session.serialize_handler = php + +; Defines the probability that the 'garbage collection' process is started +; on every session initialization. The probability is calculated by using +; gc_probability/gc_divisor. Where session.gc_probability is the numerator +; and gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.gc-probability +session.gc_probability = 1 + +; Defines the probability that the 'garbage collection' process is started on every +; session initialization. The probability is calculated by using the following equation: +; gc_probability/gc_divisor. Where session.gc_probability is the numerator and +; session.gc_divisor is the denominator in the equation. Setting this value to 1 +; when the session.gc_divisor value is 100 will give you approximately a 1% chance +; the gc will run on any give request. Increasing this value to 1000 will give you +; a 0.1% chance the gc will run on any give request. For high volume production servers, +; this is a more efficient approach. +; Default Value: 100 +; Development Value: 1000 +; Production Value: 1000 +; http://php.net/session.gc-divisor +session.gc_divisor = 1000 + +; After this number of seconds, stored data will be seen as 'garbage' and +; cleaned up by the garbage collection process. +; http://php.net/session.gc-maxlifetime +session.gc_maxlifetime = 1440 + +; NOTE: If you are using the subdirectory option for storing session files +; (see session.save_path above), then garbage collection does *not* +; happen automatically. You will need to do your own garbage +; collection through a shell script, cron entry, or some other method. +; For example, the following script would is the equivalent of +; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): +; find /path/to/sessions -cmin +24 -type f | xargs rm + +; Check HTTP Referer to invalidate externally stored URLs containing ids. +; HTTP_REFERER has to contain this substring for the session to be +; considered as valid. +; http://php.net/session.referer-check +session.referer_check = + +; Set to {nocache,private,public,} to determine HTTP caching aspects +; or leave this empty to avoid sending anti-caching headers. +; http://php.net/session.cache-limiter +session.cache_limiter = nocache + +; Document expires after n minutes. +; http://php.net/session.cache-expire +session.cache_expire = 180 + +; trans sid support is disabled by default. +; Use of trans sid may risk your users' security. +; Use this option with caution. +; - User may send URL contains active session ID +; to other person via. email/irc/etc. +; - URL that contains active session ID may be stored +; in publicly accessible computer. +; - User may access your site with the same session ID +; always using URL stored in browser's history or bookmarks. +; http://php.net/session.use-trans-sid +session.use_trans_sid = 0 + +; Set session ID character length. This value could be between 22 to 256. +; Shorter length than default is supported only for compatibility reason. +; Users should use 32 or more chars. +; http://php.net/session.sid-length +; Default Value: 32 +; Development Value: 26 +; Production Value: 26 +session.sid_length = 26 + +; The URL rewriter will look for URLs in a defined set of HTML tags. +; <form> is special; if you include them here, the rewriter will +; add a hidden <input> field with the info which is otherwise appended +; to URLs. <form> tag's action attribute URL will not be modified +; unless it is specified. +; Note that all valid entries require a "=", even if no value follows. +; Default Value: "a=href,area=href,frame=src,form=" +; Development Value: "a=href,area=href,frame=src,form=" +; Production Value: "a=href,area=href,frame=src,form=" +; http://php.net/url-rewriter.tags +session.trans_sid_tags = "a=href,area=href,frame=src,form=" + +; URL rewriter does not rewrite absolute URLs by default. +; To enable rewrites for absolute pathes, target hosts must be specified +; at RUNTIME. i.e. use ini_set() +; <form> tags is special. PHP will check action attribute's URL regardless +; of session.trans_sid_tags setting. +; If no host is defined, HTTP_HOST will be used for allowed host. +; Example value: php.net,www.php.net,wiki.php.net +; Use "," for multiple hosts. No spaces are allowed. +; Default Value: "" +; Development Value: "" +; Production Value: "" +;session.trans_sid_hosts="" + +; Define how many bits are stored in each character when converting +; the binary hash data to something readable. +; Possible values: +; 4 (4 bits: 0-9, a-f) +; 5 (5 bits: 0-9, a-v) +; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") +; Default Value: 4 +; Development Value: 5 +; Production Value: 5 +; http://php.net/session.hash-bits-per-character +session.sid_bits_per_character = 5 + +; Enable upload progress tracking in $_SESSION +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.enabled +;session.upload_progress.enabled = On + +; Cleanup the progress information as soon as all POST data has been read +; (i.e. upload completed). +; Default Value: On +; Development Value: On +; Production Value: On +; http://php.net/session.upload-progress.cleanup +;session.upload_progress.cleanup = On + +; A prefix used for the upload progress key in $_SESSION +; Default Value: "upload_progress_" +; Development Value: "upload_progress_" +; Production Value: "upload_progress_" +; http://php.net/session.upload-progress.prefix +;session.upload_progress.prefix = "upload_progress_" + +; The index name (concatenated with the prefix) in $_SESSION +; containing the upload progress information +; Default Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Development Value: "PHP_SESSION_UPLOAD_PROGRESS" +; Production Value: "PHP_SESSION_UPLOAD_PROGRESS" +; http://php.net/session.upload-progress.name +;session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS" + +; How frequently the upload progress should be updated. +; Given either in percentages (per-file), or in bytes +; Default Value: "1%" +; Development Value: "1%" +; Production Value: "1%" +; http://php.net/session.upload-progress.freq +;session.upload_progress.freq = "1%" + +; The minimum delay between updates, in seconds +; Default Value: 1 +; Development Value: 1 +; Production Value: 1 +; http://php.net/session.upload-progress.min-freq +;session.upload_progress.min_freq = "1" + +; Only write session data when session data is changed. Enabled by default. +; http://php.net/session.lazy-write +;session.lazy_write = On + +[Assertion] +; Switch whether to compile assertions at all (to have no overhead at run-time) +; -1: Do not compile at all +; 0: Jump over assertion at run-time +; 1: Execute assertions +; Changing from or to a negative value is only possible in php.ini! (For turning assertions on and off at run-time, see assert.active, when zend.assertions = 1) +; Default Value: 1 +; Development Value: 1 +; Production Value: -1 +; http://php.net/zend.assertions +zend.assertions = 1 + +; Assert(expr); active by default. +; http://php.net/assert.active +;assert.active = On + +; Throw an AssertationException on failed assertions +; http://php.net/assert.exception +;assert.exception = On + +; Issue a PHP warning for each failed assertion. (Overridden by assert.exception if active) +; http://php.net/assert.warning +;assert.warning = On + +; Don't bail out by default. +; http://php.net/assert.bail +;assert.bail = Off + +; User-function to be called if an assertion fails. +; http://php.net/assert.callback +;assert.callback = 0 + +; Eval the expression with current error_reporting(). Set to true if you want +; error_reporting(0) around the eval(). +; http://php.net/assert.quiet-eval +;assert.quiet_eval = 0 + +[COM] +; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs +; http://php.net/com.typelib-file +;com.typelib_file = + +; allow Distributed-COM calls +; http://php.net/com.allow-dcom +;com.allow_dcom = true + +; autoregister constants of a components typlib on com_load() +; http://php.net/com.autoregister-typelib +;com.autoregister_typelib = true + +; register constants casesensitive +; http://php.net/com.autoregister-casesensitive +;com.autoregister_casesensitive = false + +; show warnings on duplicate constant registrations +; http://php.net/com.autoregister-verbose +;com.autoregister_verbose = true + +; The default character set code-page to use when passing strings to and from COM objects. +; Default: system ANSI code page +;com.code_page= + +[mbstring] +; language for internal character representation. +; This affects mb_send_mail() and mbstring.detect_order. +; http://php.net/mbstring.language +;mbstring.language = Japanese + +; Use of this INI entry is deprecated, use global internal_encoding instead. +; internal/script encoding. +; Some encoding cannot work as internal encoding. (e.g. SJIS, BIG5, ISO-2022-*) +; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. +; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +;mbstring.internal_encoding = + +; Use of this INI entry is deprecated, use global input_encoding instead. +; http input encoding. +; mbstring.encoding_traslation = On is needed to use this setting. +; If empty, default_charset or input_encoding or mbstring.input is used. +; The precedence is: default_charset < intput_encoding < mbsting.http_input +; http://php.net/mbstring.http-input +;mbstring.http_input = + +; Use of this INI entry is deprecated, use global output_encoding instead. +; http output encoding. +; mb_output_handler must be registered as output buffer to function. +; If empty, default_charset or output_encoding or mbstring.http_output is used. +; The precedence is: default_charset < output_encoding < mbstring.http_output +; To use an output encoding conversion, mbstring's output handler must be set +; otherwise output encoding conversion cannot be performed. +; http://php.net/mbstring.http-output +;mbstring.http_output = + +; enable automatic encoding translation according to +; mbstring.internal_encoding setting. Input chars are +; converted to internal encoding by setting this to On. +; Note: Do _not_ use automatic encoding translation for +; portable libs/applications. +; http://php.net/mbstring.encoding-translation +;mbstring.encoding_translation = Off + +; automatic encoding detection order. +; "auto" detect order is changed according to mbstring.language +; http://php.net/mbstring.detect-order +;mbstring.detect_order = auto + +; substitute_character used when character cannot be converted +; one from another +; http://php.net/mbstring.substitute-character +;mbstring.substitute_character = none + +; overload(replace) single byte functions by mbstring functions. +; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), +; etc. Possible values are 0,1,2,4 or combination of them. +; For example, 7 for overload everything. +; 0: No overload +; 1: Overload mail() function +; 2: Overload str*() functions +; 4: Overload ereg*() functions +; http://php.net/mbstring.func-overload +;mbstring.func_overload = 0 + +; enable strict encoding detection. +; Default: Off +;mbstring.strict_detection = On + +; This directive specifies the regex pattern of content types for which mb_output_handler() +; is activated. +; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) +;mbstring.http_output_conv_mimetype= + +[gd] +; Tell the jpeg decode to ignore warnings and try to create +; a gd image. The warning will then be displayed as notices +; disabled by default +; http://php.net/gd.jpeg-ignore-warning +;gd.jpeg_ignore_warning = 1 + +[exif] +; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. +; With mbstring support this will automatically be converted into the encoding +; given by corresponding encode setting. When empty mbstring.internal_encoding +; is used. For the decode settings you can distinguish between motorola and +; intel byte order. A decode setting cannot be empty. +; http://php.net/exif.encode-unicode +;exif.encode_unicode = ISO-8859-15 + +; http://php.net/exif.decode-unicode-motorola +;exif.decode_unicode_motorola = UCS-2BE + +; http://php.net/exif.decode-unicode-intel +;exif.decode_unicode_intel = UCS-2LE + +; http://php.net/exif.encode-jis +;exif.encode_jis = + +; http://php.net/exif.decode-jis-motorola +;exif.decode_jis_motorola = JIS + +; http://php.net/exif.decode-jis-intel +;exif.decode_jis_intel = JIS + +[Tidy] +; The path to a default tidy configuration file to use when using tidy +; http://php.net/tidy.default-config +;tidy.default_config = /usr/local/lib/php/default.tcfg + +; Should tidy clean and repair output automatically? +; WARNING: Do not use this option if you are generating non-html content +; such as dynamic images +; http://php.net/tidy.clean-output +tidy.clean_output = Off + +[soap] +; Enables or disables WSDL caching feature. +; http://php.net/soap.wsdl-cache-enabled +soap.wsdl_cache_enabled=1 + +; Sets the directory name where SOAP extension will put cache files. +; http://php.net/soap.wsdl-cache-dir +soap.wsdl_cache_dir="/tmp" + +; (time to live) Sets the number of second while cached file will be used +; instead of original one. +; http://php.net/soap.wsdl-cache-ttl +soap.wsdl_cache_ttl=86400 + +; Sets the size of the cache limit. (Max. number of WSDL files to cache) +soap.wsdl_cache_limit = 5 + +[sysvshm] +; A default size of the shared memory segment +;sysvshm.init_mem = 10000 + +[ldap] +; Sets the maximum number of open links or -1 for unlimited. +ldap.max_links = -1 + +[mcrypt] +; For more information about mcrypt settings see http://php.net/mcrypt-module-open + +; Directory where to load mcrypt algorithms +; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) +;mcrypt.algorithms_dir= + +; Directory where to load mcrypt modes +; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) +;mcrypt.modes_dir= + +[dba] +;dba.default_handler= + +[opcache] +; Determines if Zend OPCache is enabled +;opcache.enable=1 + +; Determines if Zend OPCache is enabled for the CLI version of PHP +;opcache.enable_cli=0 + +; The OPcache shared memory storage size. +;opcache.memory_consumption=128 + +; The amount of memory for interned strings in Mbytes. +;opcache.interned_strings_buffer=8 + +; The maximum number of keys (scripts) in the OPcache hash table. +; Only numbers between 200 and 1000000 are allowed. +;opcache.max_accelerated_files=10000 + +; The maximum percentage of "wasted" memory until a restart is scheduled. +;opcache.max_wasted_percentage=5 + +; When this directive is enabled, the OPcache appends the current working +; directory to the script key, thus eliminating possible collisions between +; files with the same name (basename). Disabling the directive improves +; performance, but may break existing applications. +;opcache.use_cwd=1 + +; When disabled, you must reset the OPcache manually or restart the +; webserver for changes to the filesystem to take effect. +;opcache.validate_timestamps=1 + +; How often (in seconds) to check file timestamps for changes to the shared +; memory storage allocation. ("1" means validate once per second, but only +; once per request. "0" means always validate) +;opcache.revalidate_freq=2 + +; Enables or disables file search in include_path optimization +;opcache.revalidate_path=0 + +; If disabled, all PHPDoc comments are dropped from the code to reduce the +; size of the optimized code. +;opcache.save_comments=1 + +; If enabled, a fast shutdown sequence is used for the accelerated code +; Depending on the used Memory Manager this may cause some incompatibilities. +;opcache.fast_shutdown=0 + +; Allow file existence override (file_exists, etc.) performance feature. +;opcache.enable_file_override=0 + +; A bitmask, where each bit enables or disables the appropriate OPcache +; passes +;opcache.optimization_level=0xffffffff + +;opcache.inherited_hack=1 +;opcache.dups_fix=0 + +; The location of the OPcache blacklist file (wildcards allowed). +; Each OPcache blacklist file is a text file that holds the names of files +; that should not be accelerated. The file format is to add each filename +; to a new line. The filename may be a full path or just a file prefix +; (i.e., /var/www/x blacklists all the files and directories in /var/www +; that start with 'x'). Line starting with a ; are ignored (comments). +;opcache.blacklist_filename= + +; Allows exclusion of large files from being cached. By default all files +; are cached. +;opcache.max_file_size=0 + +; Check the cache checksum each N requests. +; The default value of "0" means that the checks are disabled. +;opcache.consistency_checks=0 + +; How long to wait (in seconds) for a scheduled restart to begin if the cache +; is not being accessed. +;opcache.force_restart_timeout=180 + +; OPcache error_log file name. Empty string assumes "stderr". +;opcache.error_log= + +; All OPcache errors go to the Web server log. +; By default, only fatal errors (level 0) or errors (level 1) are logged. +; You can also enable warnings (level 2), info messages (level 3) or +; debug messages (level 4). +;opcache.log_verbosity_level=1 + +; Preferred Shared Memory back-end. Leave empty and let the system decide. +;opcache.preferred_memory_model= + +; Protect the shared memory from unexpected writing during script execution. +; Useful for internal debugging only. +;opcache.protect_memory=0 + +; Allows calling OPcache API functions only from PHP scripts which path is +; started from specified string. The default "" means no restriction +;opcache.restrict_api= + +; Mapping base of shared memory segments (for Windows only). All the PHP +; processes have to map shared memory into the same address space. This +; directive allows to manually fix the "Unable to reattach to base address" +; errors. +;opcache.mmap_base= + +; Enables and sets the second level cache directory. +; It should improve performance when SHM memory is full, at server restart or +; SHM reset. The default "" disables file based caching. +;opcache.file_cache= + +; Enables or disables opcode caching in shared memory. +;opcache.file_cache_only=0 + +; Enables or disables checksum validation when script loaded from file cache. +;opcache.file_cache_consistency_checks=1 + +; Implies opcache.file_cache_only=1 for a certain process that failed to +; reattach to the shared memory (for Windows only). Explicitly enabled file +; cache is required. +;opcache.file_cache_fallback=1 + +; Enables or disables copying of PHP code (text segment) into HUGE PAGES. +; This should improve performance, but requires appropriate OS configuration. +;opcache.huge_code_pages=0 + +; Validate cached file permissions. +;opcache.validate_permission=0 + +; Prevent name collisions in chroot'ed environment. +;opcache.validate_root=0 + +[curl] +; A default value for the CURLOPT_CAINFO option. This is required to be an +; absolute path. +;curl.cainfo = + +[openssl] +; The location of a Certificate Authority (CA) file on the local filesystem +; to use when verifying the identity of SSL/TLS peers. Most users should +; not specify a value for this directive as PHP will attempt to use the +; OS-managed cert stores in its absence. If specified, this value may still +; be overridden on a per-stream basis via the "cafile" SSL stream context +; option. +;openssl.cafile= + +; If openssl.cafile is not specified or if the CA file is not found, the +; directory pointed to by openssl.capath is searched for a suitable +; certificate. This value must be a correctly hashed certificate directory. +; Most users should not specify a value for this directive as PHP will +; attempt to use the OS-managed cert stores in its absence. If specified, +; this value may still be overridden on a per-stream basis via the "capath" +; SSL stream context option. +;openssl.capath= + +; Local Variables: +; tab-width: 4 +; End: diff --git a/php/README.md b/php/README.md index 37f254a3f927d39df2162f90cbbed619c6fe4793..1f9050f5fed4572ae7a8801b420f41780014e36a 100644 --- a/php/README.md +++ b/php/README.md @@ -10,16 +10,17 @@ Le dockerfile s'inspire de [celui-ci](https://hub.docker.com/r/lavoweb/php-5.6/) [vaprobash](https://github.com/fideloper/Vaprobash) ###tag -+ `7.1`, `latest` : image pour php 7.1, basée sur l'image officielle `php:7.1-apache` -+ `5.6` : image pour php 5.6, basée sur l'image officielle `php:5.6-apache` ++ `7.1-cli` : image pour php 7.1 cli, sans apache, basée sur l'image officielle `php:7.1-cli` ++ `7.1`, `latest` : image pour php 7.1 + apache, basée sur l'image officielle `php:7.1-apache` ++ `5.6` : image pour php 5.6 + apache, basée sur l'image officielle `php:5.6-apache` ###test Le répertoire [test](test) contient des fichiers docker-compose pour vérifier le fonctionnement de chacune des 2 images -###contenu de l'image +###contenu des images -####apache : +####apache (`7.1`, `latest`, `5.6` ): + apache 2.4, modules `mod_rewrite` et `mod_ssl` activés, + un vhost par défaut sure le port 80, docroot `/var/www/html` @@ -30,7 +31,7 @@ Le répertoire [test](test) contient des fichiers docker-compose pour vérifier ####php : -+ php7.1 ou 5.6 sous forme de module apache (`mod_php7`, `od_php5`) ++ php7.1 ou 5.6 cli et sous forme de module apache (`mod_php7`, `mod_php5`) + extensions : `mbstring`, `curl`, `ftp`, `openssl`, `zlib`, `bcmath`, `bz2`, `calendar`, `dba`, `exif` `gd`, `gettext`, `imap`, `intl`, `mcrypt`, `soap`, `tidy`, `xmlrpc`, `xsl`, `zip`, `imagick` + PDO : `pdo`, `pdo_mysql`, `pdo_sqlite`, `pdo_pgsql` @@ -67,21 +68,44 @@ allow_url_include = Off ``` -###Utilisation de l'image +###Utilisation des images +#### image php-cli +L'image ne démarre aucune commande, et n'expose aucun port. Il est nécessaire de monter +les volumes et de prévoir la commande lors de la création d'un conteneur. + +#####exemple : exécution d'un script php dans le répertoire courant : +```bash +$ docker run -it --rm \ + -v "$PWD":/var/php \ + -w /var/php \ + canals/php:7.1-cli \ + php prog.php +``` +#####exemple : lancement d'un serveur php sur le port 8000 dans le répertoire courant : +```bash +$ docker run --rm -it \ + -p 8000:8000 \ + -v "$PWD":/var/php \ + -w /var/php \ + canals/php:7.1-cli \ + php -S 0.0.0.0:8000 +``` + +#### image php-apache Il est conseillé de monter les volumes correspondant aux _docroot_ des vhosts créés : vhost par défaut s'il est utilisé, vhost spécifique. -####exemple : +#####exemple : ```bash $ docker run -d --name vhost-php \ -e "VHOST_HOSTNAME=vost.php.local" \ -e "VHOST_DOCROOT=/var/www/vost" \ -p 9080:80 -p 9443:443 \ - -v $(PWD)/html:/var/www/html \ - -v $(PWD)/api:/var/www/vost \ - -v $(PWD)/src:/var/www/src \ + -v "$PWD"/html:/var/www/html \ + -v "$PWD"/api:/var/www/vost \ + -v "$PWD"/src:/var/www/src \ canals/php ```