├── mysql
└── conf
│ ├── my.cnf
│ ├── conf.d
│ ├── mysql.cnf
│ ├── docker.cnf
│ └── mysqldump.cnf
│ ├── my.cnf.fallback
│ ├── mysql.cnf
│ └── mysql.conf.d
│ └── mysqld.cnf
├── .gitattributes
├── php
├── conf.d
│ └── docker-php-ext-xdebug.ini
├── php-fpm.d
│ ├── zz-docker.conf
│ ├── docker.conf
│ ├── www.conf
│ └── www.conf.default
├── php-fpm.conf
└── php.ini
├── image
├── docker_yml_explain.PNG
├── docker_file_explain.PNG
└── nginx_default_explain.PNG
├── compose.dockerfiles
├── nginx
│ └── Dockerfile
├── mysql
│ └── Dockerfile
├── redis
│ └── Dockerfile
├── php
│ ├── conf.d.backup.sh
│ └── Dockerfile
└── docker-compose.yml
├── mysqlback
├── baskup.sh
├── auth-setting
└── master-slave
├── nginx
├── scgi_params
├── uwsgi_params
├── nginx.conf
├── fastcgi_params
├── nginx.example.conf
├── conf.d
│ └── default.conf
├── koi-win
├── koi-utf
├── win-utf
└── mime.types
├── www
└── blog
│ └── public
│ └── index.php
├── compose
└── docker-compose.yml
└── README.md
/mysql/conf/my.cnf:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.sh text eol=lf
--------------------------------------------------------------------------------
/php/conf.d/docker-php-ext-xdebug.ini:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/mysql/conf/conf.d/mysql.cnf:
--------------------------------------------------------------------------------
1 | [mysql]
2 |
--------------------------------------------------------------------------------
/mysql/conf/conf.d/docker.cnf:
--------------------------------------------------------------------------------
1 | [mysqld]
2 | skip-host-cache
3 | skip-name-resolve
4 |
--------------------------------------------------------------------------------
/php/php-fpm.d/zz-docker.conf:
--------------------------------------------------------------------------------
1 | [global]
2 | daemonize = no
3 |
4 | [www]
5 | listen = 9000
6 |
--------------------------------------------------------------------------------
/image/docker_yml_explain.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ydtg1993/server/HEAD/image/docker_yml_explain.PNG
--------------------------------------------------------------------------------
/image/docker_file_explain.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ydtg1993/server/HEAD/image/docker_file_explain.PNG
--------------------------------------------------------------------------------
/image/nginx_default_explain.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ydtg1993/server/HEAD/image/nginx_default_explain.PNG
--------------------------------------------------------------------------------
/mysql/conf/conf.d/mysqldump.cnf:
--------------------------------------------------------------------------------
1 | [mysqldump]
2 | quick
3 | max_allowed_packet = 16M
4 | user = root
5 | password = 123456
--------------------------------------------------------------------------------
/compose.dockerfiles/nginx/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM nginx
2 |
3 | # set timezome
4 | ENV TZ=Asia/Shanghai
5 | RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
--------------------------------------------------------------------------------
/compose.dockerfiles/mysql/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM mysql:5.7
2 |
3 | # set timezome
4 | ENV TZ=Asia/Shanghai
5 | RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
--------------------------------------------------------------------------------
/compose.dockerfiles/redis/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM redis:6.2
2 |
3 | # set timezome
4 | ENV TZ=Asia/Shanghai
5 | RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
6 |
--------------------------------------------------------------------------------
/php/php-fpm.d/docker.conf:
--------------------------------------------------------------------------------
1 | [global]
2 | error_log = /proc/self/fd/2
3 |
4 | [www]
5 | ; if we send this to /proc/self/fd/1, it never appears
6 | access.log = /proc/self/fd/2
7 |
8 | clear_env = no
9 |
10 | ; Ensure worker stdout and stderr are sent to the main error log.
11 | catch_workers_output = yes
12 |
--------------------------------------------------------------------------------
/mysqlback/baskup.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | DIR=/var/lib/mysql/backup
4 | if [ ! -e $DIR ]
5 | then
6 | /bin/mkdir -p $DIR
7 | fi
8 | NOWDATE=$(date +%Y%m%d%H%M%S)
9 | /usr/bin/mysqldump --defaults-file=/etc/mysql/conf.d/mysqldump.cnf --all-databases --quick | gzip > "/var/lib/mysql/backup/data_$NOWDATE.sql.gz"
10 |
11 | /usr/bin/find $DIR -mtime +7 -name "data_[1-9]*.sql.gz" -exec rm -rf {} \;
12 |
--------------------------------------------------------------------------------
/mysqlback/auth-setting:
--------------------------------------------------------------------------------
1 | CREATE USER 'new_user'@'%' IDENTIFIED BY 'new_password';
2 | CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'new_password';
3 | GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'%' WITH GRANT OPTION;
4 |
5 | ALTER USER 'root'@'%' IDENTIFIED BY 'new_password';
6 | ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
7 |
8 | ALTER USER 'root'@'%' ACCOUNT LOCK;
9 | ALTER USER 'root'@'localhost' ACCOUNT LOCK;
10 | FLUSH PRIVILEGES;
--------------------------------------------------------------------------------
/compose.dockerfiles/php/conf.d.backup.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | backup_flag_file="/.backup_done"
3 | if [ ! -f "$backup_flag_file" ]; then
4 | while true; do
5 | # 检查目录是否存在文件
6 | if [ "$(ls -A /usr/local/etc/php/conf.d.backup 2>/dev/null)" ] || [ ! "$(ls -A /usr/local/etc/php/conf.d 2>/dev/null)" ]; then
7 | # 执行命令
8 | cp -r /usr/local/etc/php/conf.d.backup/* /usr/local/etc/php/conf.d
9 | touch "$backup_flag_file"
10 | break
11 | else
12 | sleep 3
13 | fi
14 | done
15 | fi
16 | php-fpm
--------------------------------------------------------------------------------
/nginx/scgi_params:
--------------------------------------------------------------------------------
1 |
2 | scgi_param REQUEST_METHOD $request_method;
3 | scgi_param REQUEST_URI $request_uri;
4 | scgi_param QUERY_STRING $query_string;
5 | scgi_param CONTENT_TYPE $content_type;
6 |
7 | scgi_param DOCUMENT_URI $document_uri;
8 | scgi_param DOCUMENT_ROOT $document_root;
9 | scgi_param SCGI 1;
10 | scgi_param SERVER_PROTOCOL $server_protocol;
11 | scgi_param REQUEST_SCHEME $scheme;
12 | scgi_param HTTPS $https if_not_empty;
13 |
14 | scgi_param REMOTE_ADDR $remote_addr;
15 | scgi_param REMOTE_PORT $remote_port;
16 | scgi_param SERVER_PORT $server_port;
17 | scgi_param SERVER_NAME $server_name;
18 |
--------------------------------------------------------------------------------
/www/blog/public/index.php:
--------------------------------------------------------------------------------
1 | php环境搭建成功
';
3 | try {
4 | new PDO('mysql:host=mydb;dbname=mysql', 'root', '123456');//host地址直接使用link指定的标签mydb
5 | echo 'mysql连接成功
';
6 | } catch (Exception $e) {
7 | echo 'mysql连接失败 : '.$e->getMessage().'
';
8 | } finally {
9 |
10 | try {
11 | $redis = new Redis();
12 | $res = $redis->connect('myredis', 6379);//地址直接使用link指定的标签myredis
13 | if (!$res) {
14 | throw new Exception('');
15 | }
16 | $redis->close();
17 | echo 'redis连接成功
';
18 | } catch (Throwable $e) {
19 | echo 'redis连接失败 : '.$e->getMessage().'
';
20 | } finally {
21 | var_dump(phpinfo());
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/nginx/uwsgi_params:
--------------------------------------------------------------------------------
1 |
2 | uwsgi_param QUERY_STRING $query_string;
3 | uwsgi_param REQUEST_METHOD $request_method;
4 | uwsgi_param CONTENT_TYPE $content_type;
5 | uwsgi_param CONTENT_LENGTH $content_length;
6 |
7 | uwsgi_param REQUEST_URI $request_uri;
8 | uwsgi_param PATH_INFO $document_uri;
9 | uwsgi_param DOCUMENT_ROOT $document_root;
10 | uwsgi_param SERVER_PROTOCOL $server_protocol;
11 | uwsgi_param REQUEST_SCHEME $scheme;
12 | uwsgi_param HTTPS $https if_not_empty;
13 |
14 | uwsgi_param REMOTE_ADDR $remote_addr;
15 | uwsgi_param REMOTE_PORT $remote_port;
16 | uwsgi_param SERVER_PORT $server_port;
17 | uwsgi_param SERVER_NAME $server_name;
18 |
--------------------------------------------------------------------------------
/nginx/nginx.conf:
--------------------------------------------------------------------------------
1 | user nginx;
2 | worker_processes 1;
3 |
4 | error_log /var/log/nginx/error.log warn;
5 | pid /var/run/nginx.pid;
6 |
7 | events {
8 | worker_connections 1024;
9 | multi_accept on;
10 | use epoll;
11 | }
12 |
13 |
14 | http {
15 | include /etc/nginx/mime.types;
16 | default_type application/octet-stream;
17 |
18 | log_format main '$remote_addr - $remote_user [$time_local] "$request" '
19 | '$status $body_bytes_sent "$http_referer" '
20 | '"$http_user_agent" "$http_x_forwarded_for"';
21 |
22 | access_log /var/log/nginx/access.log main;
23 |
24 | sendfile on;
25 | #tcp_nopush on;
26 |
27 | keepalive_timeout 65;
28 | #gzip on;
29 |
30 | include /etc/nginx/conf.d/*.conf;
31 | }
32 |
--------------------------------------------------------------------------------
/mysql/conf/my.cnf.fallback:
--------------------------------------------------------------------------------
1 | #
2 | # The MySQL database server configuration file.
3 | #
4 | # You can copy this to one of:
5 | # - "/etc/mysql/my.cnf" to set global options,
6 | # - "~/.my.cnf" to set user-specific options.
7 | #
8 | # One can use all long options that the program supports.
9 | # Run program with --help to get a list of available options and with
10 | # --print-defaults to see which it would actually understand and use.
11 | #
12 | # For explanations see
13 | # http://dev.mysql.com/doc/mysql/en/server-system-variables.html
14 |
15 | # This will be passed to all mysql clients
16 | # It has been reported that passwords should be enclosed with ticks/quotes
17 | # escpecially if they contain "#" chars...
18 | # Remember to edit /etc/mysql/debian.cnf when changing the socket location.
19 |
20 | # Here is entries for some specific programs
21 | # The following values assume you have at least 32M ram
22 |
23 | !includedir /etc/mysql/conf.d/
24 |
--------------------------------------------------------------------------------
/nginx/fastcgi_params:
--------------------------------------------------------------------------------
1 |
2 | fastcgi_param QUERY_STRING $query_string;
3 | fastcgi_param REQUEST_METHOD $request_method;
4 | fastcgi_param CONTENT_TYPE $content_type;
5 | fastcgi_param CONTENT_LENGTH $content_length;
6 |
7 | fastcgi_param SCRIPT_NAME $fastcgi_script_name;
8 | fastcgi_param REQUEST_URI $request_uri;
9 | fastcgi_param DOCUMENT_URI $document_uri;
10 | fastcgi_param DOCUMENT_ROOT $document_root;
11 | fastcgi_param SERVER_PROTOCOL $server_protocol;
12 | fastcgi_param REQUEST_SCHEME $scheme;
13 | fastcgi_param HTTPS $https if_not_empty;
14 |
15 | fastcgi_param GATEWAY_INTERFACE CGI/1.1;
16 | fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
17 |
18 | fastcgi_param REMOTE_ADDR $remote_addr;
19 | fastcgi_param REMOTE_PORT $remote_port;
20 | fastcgi_param SERVER_ADDR $server_addr;
21 | fastcgi_param SERVER_PORT $server_port;
22 | fastcgi_param SERVER_NAME $server_name;
23 |
24 | # PHP only, required if PHP was built with --enable-force-cgi-redirect
25 | fastcgi_param REDIRECT_STATUS 200;
26 |
--------------------------------------------------------------------------------
/mysql/conf/mysql.cnf:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
2 | #
3 | # This program is free software; you can redistribute it and/or modify
4 | # it under the terms of the GNU General Public License, version 2.0,
5 | # as published by the Free Software Foundation.
6 | #
7 | # This program is also distributed with certain software (including
8 | # but not limited to OpenSSL) that is licensed under separate terms,
9 | # as designated in a particular file or component or in included license
10 | # documentation. The authors of MySQL hereby grant you an additional
11 | # permission to link the program and your derivative works with the
12 | # separately licensed software that they have included with MySQL.
13 | #
14 | # This program is distributed in the hope that it will be useful,
15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | # GNU General Public License, version 2.0, for more details.
18 | #
19 | # You should have received a copy of the GNU General Public License
20 | # along with this program; if not, write to the Free Software
21 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 |
23 | !includedir /etc/mysql/conf.d/
24 | !includedir /etc/mysql/mysql.conf.d/
25 |
--------------------------------------------------------------------------------
/nginx/nginx.example.conf:
--------------------------------------------------------------------------------
1 | user nginx;
2 | worker_processes 2;
3 |
4 | error_log /var/log/nginx/error.log warn;
5 | pid /var/run/nginx.pid;
6 |
7 |
8 | events {
9 | worker_connections 2048;
10 | multi_accept on;
11 | use epoll;
12 | }
13 |
14 |
15 | http {
16 | server_tokens off;
17 | include /etc/nginx/mime.types;
18 | default_type application/octet-stream;
19 | client_max_body_size 20M;
20 |
21 | log_format main '$remote_addr - $remote_user [$time_local] "$request" '
22 | '$status $body_bytes_sent "$http_referer" '
23 | '"$http_user_agent" "$http_x_forwarded_for"';
24 |
25 | access_log /var/log/nginx/access.log main;
26 |
27 | sendfile on;
28 | #tcp_nopush on;
29 | keepalive_timeout 15;
30 |
31 | gzip on; #开启gzip压缩功能
32 | gzip_min_length 10k; #设置允许压缩的页面最小字节数; 这里表示如果文件小于10个字节,就不用压缩,因为没有意义,本来就很小.
33 | gzip_buffers 4 16k; #设置压缩缓冲区大小,此处设置为4个16K内存作为压缩结果流缓存
34 | gzip_http_version 1.1; #压缩版本
35 | gzip_comp_level 2; #设置压缩比率,最小为1,处理速度快,传输速度慢;9为最大压缩比,处理速度慢,传输速度快; 这里表示压缩级别,可以是0到9中的任一个,级别越高,压缩就越小,节省了带宽资源,但同时也消耗CPU资源,所以一般折中为6
36 | gzip_types text/plain text/css text/xml application/javascript; #制定压缩的类型,线上配置时尽可能配置多的压缩类型!
37 | gzip_disable "msie6"; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
38 |
39 | include /etc/nginx/conf.d/*.conf;
40 | }
41 |
--------------------------------------------------------------------------------
/compose/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: "2"
2 | services:
3 | mydb:
4 | image: mysql:5.7
5 | container_name: "mydb"
6 | restart: always
7 | ports:
8 | - "3306:3306"
9 | volumes:
10 | - ./../../server/mysql/conf:/etc/mysql
11 | - ./../../server/mysql/data:/var/lib/mysql
12 | - /etc/localtime:/etc/localtime:ro
13 | environment:
14 | MYSQL_ROOT_PASSWORD: 123456
15 | myredis:
16 | image: redis:3.2
17 | container_name: "myredis"
18 | restart: always
19 | ports:
20 | - "6379:6379"
21 | volumes:
22 | - ./../../server/redis:/data
23 | - /etc/localtime:/etc/localtime:ro
24 | myphp:
25 | image: php:7.2-fpm
26 | container_name: "myphp"
27 | restart: always
28 | ports:
29 | - "9000:9000"
30 | volumes:
31 | - ./../../server/www:/var/www/html
32 | - ./../../server/php/php.ini:/usr/local/etc/php/php.ini
33 | - ./../../server/php/php-fpm.conf:/usr/local/etc/php-fpm.conf
34 | - ./../../server/php/php-fpm.d:/usr/local/etc/php-fpm.d
35 | - /etc/localtime:/etc/localtime:ro
36 | links:
37 | - "mydb"
38 | - "myredis"
39 | mynginx:
40 | image: nginx:latest
41 | container_name: "mynginx"
42 | restart: always
43 | ports:
44 | - "80:80"
45 | - "443:443"
46 | links:
47 | - "myphp"
48 | volumes:
49 | - ./../../server/www:/usr/share/nginx/html
50 | - ./../../server/nginx:/etc/nginx
51 | - ./../../server/logs/nginx.logs:/var/log/nginx
52 | - /etc/localtime:/etc/localtime:ro
--------------------------------------------------------------------------------
/compose.dockerfiles/php/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7.4-fpm
2 | MAINTAINER goozp "946818508@qq.com"
3 |
4 | ENV TZ=Asia/Shanghai
5 | RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
6 |
7 | RUN apt-get update && apt-get install -y build-essential libssl-dev zlib1g-dev libpng-dev libjpeg-dev libfreetype6-dev libzip-dev libjpeg62-turbo-dev libpng-dev zip unzip curl libcurl4-openssl-dev libonig-dev vim
8 |
9 | RUN docker-php-ext-install -j$(nproc) gd \
10 | && docker-php-ext-install pdo_mysql \
11 | && docker-php-ext-install mysqli \
12 | && docker-php-ext-install zip \
13 | && docker-php-ext-install opcache
14 |
15 | RUN pecl install redis && docker-php-ext-enable redis
16 | RUN pecl install xdebug-3.1.6 && docker-php-ext-enable xdebug
17 | RUN pecl install install https://pecl.php.net/get/swoole-4.5.2.tgz yes --with-openssl-dir=/usr/local/opt/openssl@1.1
18 | # 安装 ImageMagick
19 | RUN apt-get install -y libmagickwand-dev --no-install-recommends \
20 | && pecl install imagick \
21 | && docker-php-ext-enable imagick
22 |
23 | # 安装 composer
24 | RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
25 | RUN php composer-setup.php --install-dir=/usr/local/bin --filename=composer
26 | RUN php -r "unlink('composer-setup.php');"
27 |
28 | # 备份容器内的 PHP 配置文件
29 | RUN cp -r /usr/local/etc/php/conf.d /usr/local/etc/php/conf.d.backup
30 |
31 | RUN echo "" >> /usr/local/etc/php/php.ini
32 | COPY conf.d.backup.sh /conf.d.backup.sh
33 | RUN chmod +x /conf.d.backup.sh
34 | ENTRYPOINT ["/bin/bash", "-c","/conf.d.backup.sh"]
35 |
36 | RUN usermod -u 1000 www-data
37 |
--------------------------------------------------------------------------------
/nginx/conf.d/default.conf:
--------------------------------------------------------------------------------
1 | server {
2 | listen 80;
3 | server_name localhost;
4 |
5 | charset utf-8;
6 | #access_log /var/log/nginx/host.access.log main;
7 |
8 | #gzip on;
9 | #gzip_disable "msie6";
10 | #gzip_types text/plain text/css text/xml text/javascript application/json application/x-javascript application/xml application/xml+rss application/javascript;
11 |
12 | location / {
13 | root /usr/share/nginx/html/blog/public;
14 | index index.html index.htm index.php;
15 | try_files $uri $uri/ /index.php$is_args$query_string;
16 | }
17 |
18 | #error_page 404 /404.html;
19 |
20 | # redirect server error pages to the static page /50x.html
21 | #
22 | error_page 500 502 503 504 /50x.html;
23 | #location = /50x.html {
24 | # root /usr/share/nginx/html;
25 | #}
26 |
27 | # proxy the PHP scripts to Apache listening on 127.0.0.1:80
28 | #
29 | #location ~ \.php$ {
30 | # proxy_pass http://127.0.0.1;
31 | #}
32 |
33 | # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
34 | #
35 | location ~ \.php$ {
36 | include fastcgi_params;
37 |
38 | fastcgi_pass myphp:9000;
39 | fastcgi_index index.php;
40 | fastcgi_param SCRIPT_FILENAME /var/www/html/blog/public$fastcgi_script_name;
41 | include fastcgi_params;
42 | }
43 |
44 | # deny access to .htaccess files, if Apache's document root
45 | # concurs with nginx's one
46 | #
47 | #location ~ /\.ht {
48 | # deny all;
49 | #}
50 | }
51 |
52 |
--------------------------------------------------------------------------------
/compose.dockerfiles/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: "3"
2 | services:
3 | mydb:
4 | build: ./mysql
5 | container_name: "mydb"
6 | restart: always
7 | ports:
8 | - "3306:3306"
9 | volumes:
10 | - ./../../server/mysql/conf:/etc/mysql
11 | - ./../../server/mysql/data:/var/lib/mysql
12 | - ./../../server/mysqlback:/var/lib/mysqlback
13 | environment:
14 | MYSQL_ROOT_PASSWORD: 123456
15 | networks:
16 | - myserver_v1
17 | myredis:
18 | build: ./redis
19 | container_name: "myredis"
20 | restart: always
21 | ports:
22 | - "6379:6379"
23 | volumes:
24 | - ./../../server/redis:/data
25 | networks:
26 | - myserver_v1
27 | myphp:
28 | build: ./php
29 | container_name: "myphp"
30 | restart: always
31 | ports:
32 | - "9000:9000"
33 | volumes:
34 | - ./../../server/www:/var/www/html
35 | - ./../../server/php/php.ini:/usr/local/etc/php/php.ini
36 | - ./../../server/php/php-fpm.conf:/usr/local/etc/php-fpm.conf
37 | - ./../../server/php/php-fpm.d:/usr/local/etc/php-fpm.d
38 | - ./../../server/php/conf.d:/usr/local/etc/php/conf.d
39 | networks:
40 | - myserver_v1
41 | depends_on:
42 | - mydb
43 | - myredis
44 | mynginx:
45 | build: ./nginx
46 | container_name: "mynginx"
47 | restart: always
48 | ports:
49 | - "80:80"
50 | - "443:443"
51 | volumes:
52 | - ./../../server/www:/usr/share/nginx/html
53 | - ./../../server/nginx:/etc/nginx
54 | - ./../../server/logs/nginx.logs:/var/log/nginx
55 | networks:
56 | - myserver_v1
57 | depends_on:
58 | - myphp
59 | networks:
60 | myserver_v1:
61 | driver: bridge
--------------------------------------------------------------------------------
/mysql/conf/mysql.conf.d/mysqld.cnf:
--------------------------------------------------------------------------------
1 | # Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
2 | #
3 | # This program is free software; you can redistribute it and/or modify
4 | # it under the terms of the GNU General Public License, version 2.0,
5 | # as published by the Free Software Foundation.
6 | #
7 | # This program is also distributed with certain software (including
8 | # but not limited to OpenSSL) that is licensed under separate terms,
9 | # as designated in a particular file or component or in included license
10 | # documentation. The authors of MySQL hereby grant you an additional
11 | # permission to link the program and your derivative works with the
12 | # separately licensed software that they have included with MySQL.
13 | #
14 | # This program is distributed in the hope that it will be useful,
15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | # GNU General Public License, version 2.0, for more details.
18 | #
19 | # You should have received a copy of the GNU General Public License
20 | # along with this program; if not, write to the Free Software
21 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 |
23 | #
24 | # The MySQL Server configuration file.
25 | #
26 | # For explanations see
27 | # http://dev.mysql.com/doc/mysql/en/server-system-variables.html
28 |
29 | [mysqld]
30 | pid-file = /var/run/mysqld/mysqld.pid
31 | socket = /var/run/mysqld/mysqld.sock
32 | datadir = /var/lib/mysql
33 | #log-error = /var/log/mysql/error.log
34 | # By default we only accept connections from localhost
35 | #bind-address = 127.0.0.1
36 | # Disabling symbolic-links is recommended to prevent assorted security risks
37 | symbolic-links=0
38 |
--------------------------------------------------------------------------------
/mysqlback/master-slave:
--------------------------------------------------------------------------------
1 | [slave container]
2 | docker run --name mydb_slave -p 3307:3306 -v /server/mysql_slave:/var/lib/mysql -v /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
3 |
4 | [主库my.conf]
5 | [mysqld]
6 | ## 设置server_id,一般设置为IP,同一局域网内注意要唯一
7 | server_id=100
8 | ## 复制过滤:也就是指定哪个数据库不用同步(mysql库一般不同步)
9 | binlog-ignore-db=mysql
10 | ## 开启二进制日志功能,可以随便取,最好有含义(关键就是这里了)
11 | log-bin=edu-mysql-bin
12 | ## 为每个session 分配的内存,在事务过程中用来存储二进制日志的缓存
13 | binlog_cache_size=1M
14 | ## 主从复制的格式(mixed,statement,row,默认格式是statement)
15 | binlog_format=mixed
16 | ## 二进制日志自动删除/过期的天数。默认值为0,表示不自动删除。
17 | expire_logs_days=7
18 | ## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
19 | ## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
20 | slave_skip_errors=1062
21 |
22 | [主库创建账号]
23 | CREATE USER 'slave'@'%' IDENTIFIED BY '123456';
24 | GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'slave'@'%';
25 | 重启mysql服务
26 |
27 | [从库]
28 | [mysqld]
29 | ## 设置server_id,一般设置为IP,注意要唯一
30 | server_id=101
31 | ## 复制过滤:也就是指定哪个数据库不用同步(mysql库一般不同步)
32 | binlog-ignore-db=mysql
33 | ## 开启二进制日志功能,以备Slave作为其它Slave的Master时使用
34 | log-bin=edu-mysql-slave1-bin
35 | ## 为每个session 分配的内存,在事务过程中用来存储二进制日志的缓存
36 | binlog_cache_size=1M
37 | ## 主从复制的格式(mixed,statement,row,默认格式是statement)
38 | binlog_format=mixed
39 | ## 二进制日志自动删除/过期的天数。默认值为0,表示不自动删除。
40 | expire_logs_days=7
41 | ## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。
42 | ## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致
43 | slave_skip_errors=1062
44 | ## relay_log配置中继日志
45 | relay_log=edu-mysql-relay-bin
46 | ## log_slave_updates表示slave将复制事件写进自己的二进制日志
47 | log_slave_updates=1
48 | ## 防止改变数据(除了特殊的线程)
49 | read_only=1
50 |
51 | [从服务器创建连接]
52 | change master to master_host='mydb host', master_user='slave', master_password='123456', master_port=3306, master_log_file='edu-mysql-bin.000001', master_log_pos=1, master_connect_retry=30;
53 | start slave;
54 |
--------------------------------------------------------------------------------
/nginx/koi-win:
--------------------------------------------------------------------------------
1 |
2 | charset_map koi8-r windows-1251 {
3 |
4 | 80 88 ; # euro
5 |
6 | 95 95 ; # bullet
7 |
8 | 9A A0 ; #
9 |
10 | 9E B7 ; # ·
11 |
12 | A3 B8 ; # small yo
13 | A4 BA ; # small Ukrainian ye
14 |
15 | A6 B3 ; # small Ukrainian i
16 | A7 BF ; # small Ukrainian yi
17 |
18 | AD B4 ; # small Ukrainian soft g
19 | AE A2 ; # small Byelorussian short u
20 |
21 | B0 B0 ; # °
22 |
23 | B3 A8 ; # capital YO
24 | B4 AA ; # capital Ukrainian YE
25 |
26 | B6 B2 ; # capital Ukrainian I
27 | B7 AF ; # capital Ukrainian YI
28 |
29 | B9 B9 ; # numero sign
30 |
31 | BD A5 ; # capital Ukrainian soft G
32 | BE A1 ; # capital Byelorussian short U
33 |
34 | BF A9 ; # (C)
35 |
36 | C0 FE ; # small yu
37 | C1 E0 ; # small a
38 | C2 E1 ; # small b
39 | C3 F6 ; # small ts
40 | C4 E4 ; # small d
41 | C5 E5 ; # small ye
42 | C6 F4 ; # small f
43 | C7 E3 ; # small g
44 | C8 F5 ; # small kh
45 | C9 E8 ; # small i
46 | CA E9 ; # small j
47 | CB EA ; # small k
48 | CC EB ; # small l
49 | CD EC ; # small m
50 | CE ED ; # small n
51 | CF EE ; # small o
52 |
53 | D0 EF ; # small p
54 | D1 FF ; # small ya
55 | D2 F0 ; # small r
56 | D3 F1 ; # small s
57 | D4 F2 ; # small t
58 | D5 F3 ; # small u
59 | D6 E6 ; # small zh
60 | D7 E2 ; # small v
61 | D8 FC ; # small soft sign
62 | D9 FB ; # small y
63 | DA E7 ; # small z
64 | DB F8 ; # small sh
65 | DC FD ; # small e
66 | DD F9 ; # small shch
67 | DE F7 ; # small ch
68 | DF FA ; # small hard sign
69 |
70 | E0 DE ; # capital YU
71 | E1 C0 ; # capital A
72 | E2 C1 ; # capital B
73 | E3 D6 ; # capital TS
74 | E4 C4 ; # capital D
75 | E5 C5 ; # capital YE
76 | E6 D4 ; # capital F
77 | E7 C3 ; # capital G
78 | E8 D5 ; # capital KH
79 | E9 C8 ; # capital I
80 | EA C9 ; # capital J
81 | EB CA ; # capital K
82 | EC CB ; # capital L
83 | ED CC ; # capital M
84 | EE CD ; # capital N
85 | EF CE ; # capital O
86 |
87 | F0 CF ; # capital P
88 | F1 DF ; # capital YA
89 | F2 D0 ; # capital R
90 | F3 D1 ; # capital S
91 | F4 D2 ; # capital T
92 | F5 D3 ; # capital U
93 | F6 C6 ; # capital ZH
94 | F7 C2 ; # capital V
95 | F8 DC ; # capital soft sign
96 | F9 DB ; # capital Y
97 | FA C7 ; # capital Z
98 | FB D8 ; # capital SH
99 | FC DD ; # capital E
100 | FD D9 ; # capital SHCH
101 | FE D7 ; # capital CH
102 | FF DA ; # capital hard sign
103 | }
104 |
--------------------------------------------------------------------------------
/nginx/koi-utf:
--------------------------------------------------------------------------------
1 |
2 | # This map is not a full koi8-r <> utf8 map: it does not contain
3 | # box-drawing and some other characters. Besides this map contains
4 | # several koi8-u and Byelorussian letters which are not in koi8-r.
5 | # If you need a full and standard map, use contrib/unicode2nginx/koi-utf
6 | # map instead.
7 |
8 | charset_map koi8-r utf-8 {
9 |
10 | 80 E282AC ; # euro
11 |
12 | 95 E280A2 ; # bullet
13 |
14 | 9A C2A0 ; #
15 |
16 | 9E C2B7 ; # ·
17 |
18 | A3 D191 ; # small yo
19 | A4 D194 ; # small Ukrainian ye
20 |
21 | A6 D196 ; # small Ukrainian i
22 | A7 D197 ; # small Ukrainian yi
23 |
24 | AD D291 ; # small Ukrainian soft g
25 | AE D19E ; # small Byelorussian short u
26 |
27 | B0 C2B0 ; # °
28 |
29 | B3 D081 ; # capital YO
30 | B4 D084 ; # capital Ukrainian YE
31 |
32 | B6 D086 ; # capital Ukrainian I
33 | B7 D087 ; # capital Ukrainian YI
34 |
35 | B9 E28496 ; # numero sign
36 |
37 | BD D290 ; # capital Ukrainian soft G
38 | BE D18E ; # capital Byelorussian short U
39 |
40 | BF C2A9 ; # (C)
41 |
42 | C0 D18E ; # small yu
43 | C1 D0B0 ; # small a
44 | C2 D0B1 ; # small b
45 | C3 D186 ; # small ts
46 | C4 D0B4 ; # small d
47 | C5 D0B5 ; # small ye
48 | C6 D184 ; # small f
49 | C7 D0B3 ; # small g
50 | C8 D185 ; # small kh
51 | C9 D0B8 ; # small i
52 | CA D0B9 ; # small j
53 | CB D0BA ; # small k
54 | CC D0BB ; # small l
55 | CD D0BC ; # small m
56 | CE D0BD ; # small n
57 | CF D0BE ; # small o
58 |
59 | D0 D0BF ; # small p
60 | D1 D18F ; # small ya
61 | D2 D180 ; # small r
62 | D3 D181 ; # small s
63 | D4 D182 ; # small t
64 | D5 D183 ; # small u
65 | D6 D0B6 ; # small zh
66 | D7 D0B2 ; # small v
67 | D8 D18C ; # small soft sign
68 | D9 D18B ; # small y
69 | DA D0B7 ; # small z
70 | DB D188 ; # small sh
71 | DC D18D ; # small e
72 | DD D189 ; # small shch
73 | DE D187 ; # small ch
74 | DF D18A ; # small hard sign
75 |
76 | E0 D0AE ; # capital YU
77 | E1 D090 ; # capital A
78 | E2 D091 ; # capital B
79 | E3 D0A6 ; # capital TS
80 | E4 D094 ; # capital D
81 | E5 D095 ; # capital YE
82 | E6 D0A4 ; # capital F
83 | E7 D093 ; # capital G
84 | E8 D0A5 ; # capital KH
85 | E9 D098 ; # capital I
86 | EA D099 ; # capital J
87 | EB D09A ; # capital K
88 | EC D09B ; # capital L
89 | ED D09C ; # capital M
90 | EE D09D ; # capital N
91 | EF D09E ; # capital O
92 |
93 | F0 D09F ; # capital P
94 | F1 D0AF ; # capital YA
95 | F2 D0A0 ; # capital R
96 | F3 D0A1 ; # capital S
97 | F4 D0A2 ; # capital T
98 | F5 D0A3 ; # capital U
99 | F6 D096 ; # capital ZH
100 | F7 D092 ; # capital V
101 | F8 D0AC ; # capital soft sign
102 | F9 D0AB ; # capital Y
103 | FA D097 ; # capital Z
104 | FB D0A8 ; # capital SH
105 | FC D0AD ; # capital E
106 | FD D0A9 ; # capital SHCH
107 | FE D0A7 ; # capital CH
108 | FF D0AA ; # capital hard sign
109 | }
110 |
--------------------------------------------------------------------------------
/nginx/win-utf:
--------------------------------------------------------------------------------
1 |
2 | # This map is not a full windows-1251 <> utf8 map: it does not
3 | # contain Serbian and Macedonian letters. If you need a full map,
4 | # use contrib/unicode2nginx/win-utf map instead.
5 |
6 | charset_map windows-1251 utf-8 {
7 |
8 | 82 E2809A ; # single low-9 quotation mark
9 |
10 | 84 E2809E ; # double low-9 quotation mark
11 | 85 E280A6 ; # ellipsis
12 | 86 E280A0 ; # dagger
13 | 87 E280A1 ; # double dagger
14 | 88 E282AC ; # euro
15 | 89 E280B0 ; # per mille
16 |
17 | 91 E28098 ; # left single quotation mark
18 | 92 E28099 ; # right single quotation mark
19 | 93 E2809C ; # left double quotation mark
20 | 94 E2809D ; # right double quotation mark
21 | 95 E280A2 ; # bullet
22 | 96 E28093 ; # en dash
23 | 97 E28094 ; # em dash
24 |
25 | 99 E284A2 ; # trade mark sign
26 |
27 | A0 C2A0 ; #
28 | A1 D18E ; # capital Byelorussian short U
29 | A2 D19E ; # small Byelorussian short u
30 |
31 | A4 C2A4 ; # currency sign
32 | A5 D290 ; # capital Ukrainian soft G
33 | A6 C2A6 ; # borken bar
34 | A7 C2A7 ; # section sign
35 | A8 D081 ; # capital YO
36 | A9 C2A9 ; # (C)
37 | AA D084 ; # capital Ukrainian YE
38 | AB C2AB ; # left-pointing double angle quotation mark
39 | AC C2AC ; # not sign
40 | AD C2AD ; # soft hypen
41 | AE C2AE ; # (R)
42 | AF D087 ; # capital Ukrainian YI
43 |
44 | B0 C2B0 ; # °
45 | B1 C2B1 ; # plus-minus sign
46 | B2 D086 ; # capital Ukrainian I
47 | B3 D196 ; # small Ukrainian i
48 | B4 D291 ; # small Ukrainian soft g
49 | B5 C2B5 ; # micro sign
50 | B6 C2B6 ; # pilcrow sign
51 | B7 C2B7 ; # ·
52 | B8 D191 ; # small yo
53 | B9 E28496 ; # numero sign
54 | BA D194 ; # small Ukrainian ye
55 | BB C2BB ; # right-pointing double angle quotation mark
56 |
57 | BF D197 ; # small Ukrainian yi
58 |
59 | C0 D090 ; # capital A
60 | C1 D091 ; # capital B
61 | C2 D092 ; # capital V
62 | C3 D093 ; # capital G
63 | C4 D094 ; # capital D
64 | C5 D095 ; # capital YE
65 | C6 D096 ; # capital ZH
66 | C7 D097 ; # capital Z
67 | C8 D098 ; # capital I
68 | C9 D099 ; # capital J
69 | CA D09A ; # capital K
70 | CB D09B ; # capital L
71 | CC D09C ; # capital M
72 | CD D09D ; # capital N
73 | CE D09E ; # capital O
74 | CF D09F ; # capital P
75 |
76 | D0 D0A0 ; # capital R
77 | D1 D0A1 ; # capital S
78 | D2 D0A2 ; # capital T
79 | D3 D0A3 ; # capital U
80 | D4 D0A4 ; # capital F
81 | D5 D0A5 ; # capital KH
82 | D6 D0A6 ; # capital TS
83 | D7 D0A7 ; # capital CH
84 | D8 D0A8 ; # capital SH
85 | D9 D0A9 ; # capital SHCH
86 | DA D0AA ; # capital hard sign
87 | DB D0AB ; # capital Y
88 | DC D0AC ; # capital soft sign
89 | DD D0AD ; # capital E
90 | DE D0AE ; # capital YU
91 | DF D0AF ; # capital YA
92 |
93 | E0 D0B0 ; # small a
94 | E1 D0B1 ; # small b
95 | E2 D0B2 ; # small v
96 | E3 D0B3 ; # small g
97 | E4 D0B4 ; # small d
98 | E5 D0B5 ; # small ye
99 | E6 D0B6 ; # small zh
100 | E7 D0B7 ; # small z
101 | E8 D0B8 ; # small i
102 | E9 D0B9 ; # small j
103 | EA D0BA ; # small k
104 | EB D0BB ; # small l
105 | EC D0BC ; # small m
106 | ED D0BD ; # small n
107 | EE D0BE ; # small o
108 | EF D0BF ; # small p
109 |
110 | F0 D180 ; # small r
111 | F1 D181 ; # small s
112 | F2 D182 ; # small t
113 | F3 D183 ; # small u
114 | F4 D184 ; # small f
115 | F5 D185 ; # small kh
116 | F6 D186 ; # small ts
117 | F7 D187 ; # small ch
118 | F8 D188 ; # small sh
119 | F9 D189 ; # small shch
120 | FA D18A ; # small hard sign
121 | FB D18B ; # small y
122 | FC D18C ; # small soft sign
123 | FD D18D ; # small e
124 | FE D18E ; # small yu
125 | FF D18F ; # small ya
126 | }
127 |
--------------------------------------------------------------------------------
/php/php-fpm.conf:
--------------------------------------------------------------------------------
1 | ;;;;;;;;;;;;;;;;;;;;;
2 | ; FPM Configuration ;
3 | ;;;;;;;;;;;;;;;;;;;;;
4 |
5 | ; All relative paths in this configuration file are relative to PHP's install
6 | ; prefix (/usr/local). This prefix can be dynamically changed by using the
7 | ; '-p' argument from the command line.
8 |
9 | ;;;;;;;;;;;;;;;;;;
10 | ; Global Options ;
11 | ;;;;;;;;;;;;;;;;;;
12 |
13 | [global]
14 | ; Pid file
15 | ; Note: the default prefix is /usr/local/var
16 | ; Default Value: none
17 | ;pid = run/php-fpm.pid
18 |
19 | ; Error log file
20 | ; If it's set to "syslog", log is sent to syslogd instead of being written
21 | ; into a local file.
22 | ; Note: the default prefix is /usr/local/var
23 | ; Default Value: log/php-fpm.log
24 | ;error_log = log/php-fpm.log
25 |
26 | ; syslog_facility is used to specify what type of program is logging the
27 | ; message. This lets syslogd specify that messages from different facilities
28 | ; will be handled differently.
29 | ; See syslog(3) for possible values (ex daemon equiv LOG_DAEMON)
30 | ; Default Value: daemon
31 | ;syslog.facility = daemon
32 |
33 | ; syslog_ident is prepended to every message. If you have multiple FPM
34 | ; instances running on the same server, you can change the default value
35 | ; which must suit common needs.
36 | ; Default Value: php-fpm
37 | ;syslog.ident = php-fpm
38 |
39 | ; Log level
40 | ; Possible Values: alert, error, warning, notice, debug
41 | ; Default Value: notice
42 | ;log_level = notice
43 |
44 | ; If this number of child processes exit with SIGSEGV or SIGBUS within the time
45 | ; interval set by emergency_restart_interval then FPM will restart. A value
46 | ; of '0' means 'Off'.
47 | ; Default Value: 0
48 | ;emergency_restart_threshold = 0
49 |
50 | ; Interval of time used by emergency_restart_interval to determine when
51 | ; a graceful restart will be initiated. This can be useful to work around
52 | ; accidental corruptions in an accelerator's shared memory.
53 | ; Available Units: s(econds), m(inutes), h(ours), or d(ays)
54 | ; Default Unit: seconds
55 | ; Default Value: 0
56 | ;emergency_restart_interval = 0
57 |
58 | ; Time limit for child processes to wait for a reaction on signals from master.
59 | ; Available units: s(econds), m(inutes), h(ours), or d(ays)
60 | ; Default Unit: seconds
61 | ; Default Value: 0
62 | ;process_control_timeout = 0
63 |
64 | ; The maximum number of processes FPM will fork. This has been designed to control
65 | ; the global number of processes when using dynamic PM within a lot of pools.
66 | ; Use it with caution.
67 | ; Note: A value of 0 indicates no limit
68 | ; Default Value: 0
69 | ; process.max = 128
70 |
71 | ; Specify the nice(2) priority to apply to the master process (only if set)
72 | ; The value can vary from -19 (highest priority) to 20 (lowest priority)
73 | ; Note: - It will only work if the FPM master process is launched as root
74 | ; - The pool process will inherit the master process priority
75 | ; unless specified otherwise
76 | ; Default Value: no set
77 | ; process.priority = -19
78 |
79 | ; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging.
80 | ; Default Value: yes
81 | ;daemonize = yes
82 |
83 | ; Set open file descriptor rlimit for the master process.
84 | ; Default Value: system defined value
85 | ;rlimit_files = 1024
86 |
87 | ; Set max core size rlimit for the master process.
88 | ; Possible Values: 'unlimited' or an integer greater or equal to 0
89 | ; Default Value: system defined value
90 | ;rlimit_core = 0
91 |
92 | ; Specify the event mechanism FPM will use. The following is available:
93 | ; - select (any POSIX os)
94 | ; - poll (any POSIX os)
95 | ; - epoll (linux >= 2.5.44)
96 | ; - kqueue (FreeBSD >= 4.1, OpenBSD >= 2.9, NetBSD >= 2.0)
97 | ; - /dev/poll (Solaris >= 7)
98 | ; - port (Solaris >= 10)
99 | ; Default Value: not set (auto detection)
100 | ;events.mechanism = epoll
101 |
102 | ; When FPM is built with systemd integration, specify the interval,
103 | ; in seconds, between health report notification to systemd.
104 | ; Set to 0 to disable.
105 | ; Available Units: s(econds), m(inutes), h(ours)
106 | ; Default Unit: seconds
107 | ; Default value: 10
108 | ;systemd_interval = 10
109 |
110 | ;;;;;;;;;;;;;;;;;;;;
111 | ; Pool Definitions ;
112 | ;;;;;;;;;;;;;;;;;;;;
113 |
114 | ; Multiple pools of child processes may be started with different listening
115 | ; ports and different management options. The name of the pool will be
116 | ; used in logs and stats. There is no limitation on the number of pools which
117 | ; FPM can handle. Your system will tell you anyway :)
118 |
119 | ; Include one or more files. If glob(3) exists, it is used to include a bunch of
120 | ; files from a glob(3) pattern. This directive can be used everywhere in the
121 | ; file.
122 | ; Relative path can also be used. They will be prefixed by:
123 | ; - the global prefix if it's been set (-p argument)
124 | ; - /usr/local otherwise
125 | include=etc/php-fpm.d/*.conf
126 |
--------------------------------------------------------------------------------
/nginx/mime.types:
--------------------------------------------------------------------------------
1 |
2 | types {
3 | text/html html htm shtml;
4 | text/css css;
5 | text/xml xml;
6 | image/gif gif;
7 | image/jpeg jpeg jpg;
8 | application/javascript js;
9 | application/atom+xml atom;
10 | application/rss+xml rss;
11 |
12 | text/mathml mml;
13 | text/plain txt;
14 | text/vnd.sun.j2me.app-descriptor jad;
15 | text/vnd.wap.wml wml;
16 | text/x-component htc;
17 |
18 | image/png png;
19 | image/svg+xml svg svgz;
20 | image/tiff tif tiff;
21 | image/vnd.wap.wbmp wbmp;
22 | image/webp webp;
23 | image/x-icon ico;
24 | image/x-jng jng;
25 | image/x-ms-bmp bmp;
26 |
27 | font/woff woff;
28 | font/woff2 woff2;
29 |
30 | application/java-archive jar war ear;
31 | application/json json;
32 | application/mac-binhex40 hqx;
33 | application/msword doc;
34 | application/pdf pdf;
35 | application/postscript ps eps ai;
36 | application/rtf rtf;
37 | application/vnd.apple.mpegurl m3u8;
38 | application/vnd.google-earth.kml+xml kml;
39 | application/vnd.google-earth.kmz kmz;
40 | application/vnd.ms-excel xls;
41 | application/vnd.ms-fontobject eot;
42 | application/vnd.ms-powerpoint ppt;
43 | application/vnd.oasis.opendocument.graphics odg;
44 | application/vnd.oasis.opendocument.presentation odp;
45 | application/vnd.oasis.opendocument.spreadsheet ods;
46 | application/vnd.oasis.opendocument.text odt;
47 | application/vnd.openxmlformats-officedocument.presentationml.presentation
48 | pptx;
49 | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
50 | xlsx;
51 | application/vnd.openxmlformats-officedocument.wordprocessingml.document
52 | docx;
53 | application/vnd.wap.wmlc wmlc;
54 | application/x-7z-compressed 7z;
55 | application/x-cocoa cco;
56 | application/x-java-archive-diff jardiff;
57 | application/x-java-jnlp-file jnlp;
58 | application/x-makeself run;
59 | application/x-perl pl pm;
60 | application/x-pilot prc pdb;
61 | application/x-rar-compressed rar;
62 | application/x-redhat-package-manager rpm;
63 | application/x-sea sea;
64 | application/x-shockwave-flash swf;
65 | application/x-stuffit sit;
66 | application/x-tcl tcl tk;
67 | application/x-x509-ca-cert der pem crt;
68 | application/x-xpinstall xpi;
69 | application/xhtml+xml xhtml;
70 | application/xspf+xml xspf;
71 | application/zip zip;
72 |
73 | application/octet-stream bin exe dll;
74 | application/octet-stream deb;
75 | application/octet-stream dmg;
76 | application/octet-stream iso img;
77 | application/octet-stream msi msp msm;
78 |
79 | audio/midi mid midi kar;
80 | audio/mpeg mp3;
81 | audio/ogg ogg;
82 | audio/x-m4a m4a;
83 | audio/x-realaudio ra;
84 |
85 | video/3gpp 3gpp 3gp;
86 | video/mp2t ts;
87 | video/mp4 mp4;
88 | video/mpeg mpeg mpg;
89 | video/quicktime mov;
90 | video/webm webm;
91 | video/x-flv flv;
92 | video/x-m4v m4v;
93 | video/x-mng mng;
94 | video/x-ms-asf asx asf;
95 | video/x-ms-wmv wmv;
96 | video/x-msvideo avi;
97 | }
98 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | docker 灵活的构建php环境
2 |
3 | 使用docker搭建灵活的线上php环境 有时候你可能不太需要一些别人已经集成了的包或者镜像
4 | 我们就可以使用以下方式自己动手逐一构建自己所需要的环境结构 并在最后实现一键自动化部署
5 | 一步一步点亮docker技能树
6 | ## .
7 | ## ## ## ==
8 | ## ## ## ## ## ===
9 | /"""""""""""""""""\___/ ===
10 | ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
11 | \______ o __/
12 | \ \ __/
13 | \____\_______/
14 |
15 |
16 |
17 | 阶段一 使用docker逐一构建
18 | ☆ 首先拉取项目 放到服务器任意目录(到后面你也可以构建自己风格的环境结构)
19 |
20 | #### 1. 下载镜像
21 |
22 |
`冒号后选择版本`
23 |
24 |
25 |
26 |
`不需要本地数据库可忽略`
27 |
28 |
`不需要本地redis可忽略`
29 |
30 |
`查看已下载的所有镜像`
31 |
32 | #### 2. 下载完成镜像后运行容器 [以下采用--link方式创建容器 注意创建顺序]
33 | 注:
34 | -i 表示允许我们对容器进行操作
35 | -t 表示在新容器内指定一个为终端
36 | -d 表示容器在后台执行
37 | /bin/bash 这将在容器内启动bash shell
38 | -p 为容器和宿主机创建端口映射
39 | --name 为容器指定一个名字
40 | -v 将容器内路径挂载到宿主机路径
41 | --privileged=true 给容器特权,在挂载目录后容器可以访问目录以下的文件或者目录
42 | --link可以用来链接2个容器,使得源容器(被链接的容器)和接收容器(主动去链接的容器)之间可以通过别名通信,解除了容器之间通信对容器IP的依赖
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 | 注:-MYSQL_ROOT_PASSWORD=123456 给mysql设置初始密码
51 | 如果不需要搭建本地数据库直接下一步
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 | 注: 如果不需要搭建本地redis直接下一步
60 |
61 |
62 |
63 |
64 |
65 |
66 | 注: 如果不需要搭建本地数据库或者redis可以省去--link mydb:mydb --link myredis:myredis
67 | 注意-v 挂载一个空文件夹是会覆盖容器中的内容,所以配置文件要事先准备好
68 |
69 |
70 |
71 |
72 |
73 |
74 | 注:
75 | -v语句冒号后是容器内的路径 我将nginx的网页项目目录 配置目录 日志目录分别挂载到了我事先准备好的/server目录下
76 | --link myphp:myphp 将nginx容器和php容器连接 通过别名myphp就不再需要去指定myphp容器的ip了
77 |
78 |
79 |
`查看所有容器运行成功 这里环境也就基本搭建完成了`
80 |
81 | ###### 挂载目录后就可以不用进入容器中修改配置,直接在对应挂载目录下改配置文件 修改nginx配置到 /server/nginx/conf.d/Default.conf
82 | 
83 |
84 |
85 | #### 3. PHP扩展库安装
86 |
87 | `首先进入容器`
88 |
89 |
90 |
91 | `安装pdo_mysql扩展`
92 |
93 |
94 |
95 | `安装redis扩展`
96 |
97 |
98 |
99 | 注: 此时报错提示redis.so 因为一些扩展并不包含在 PHP 源码文件中
100 |
101 | ###### 方法一:
102 |
103 | `解压已经下载好的redis扩展包`
104 |
105 |
106 |
107 | `将扩展放到容器中 再执行安装`
108 |
109 |
110 |
111 | ###### 方法二:
112 |
113 | 注:
114 | 官方推荐使用 PECL(PHP 的扩展库仓库,通过 PEAR 打包)。用 pecl install 安装扩展,然后再用官方提供的 docker-php-ext-enable
115 | 快捷脚本来启用扩展
116 |
117 | `pecl安装redis`
118 |
119 |
120 |
121 | `装完扩展 exit退出容器 重启容器`
122 |
123 |
124 |
125 |
126 | 其它常用命令
127 |
128 | `停止所有容器`
129 |
130 |
131 |
132 | `删除所有容器`
133 |
134 |
135 |
136 | `删除所有镜像`
137 |
138 |
139 |
140 | `查看容器配置信息`
141 |
142 |
143 |
144 | ###### 构筑自己的目录结构
145 | 你也可以构建自己所要的server目录结构 首先要知道挂载一个空文件夹会清空容器中文件夹下所有内容 所以应该先拷贝再挂载
146 | 例如: 创建一个临时容器 sudo docker run --name mynginx -p 80:80 -it -d nginx
147 | 进入到容器中查自己所要的配置文件目录地址 例如: /etc/nginx 退出容器
148 | 拷贝容器中所要的目录结构到宿主机 例如: docker cp mydb:/etc/nginx /server/nginx
149 | 删除容器 创建新容器时就可以挂载该目录了 此后对nginx的配置文件的修改就可以直接在宿主机上快捷操作
150 | docker run --name mynginx -d -p 80:80 -v /server/nginx:/etc/nginx --link myphp:myphp --privileged=true nginx
151 |
152 |
153 | 阶段二 docker-compose自动化构建
154 |
155 | 完成以上步骤你就已经初步了解了docker的基本容器操作
156 | docker-compose是编排容器的。例如,你有一个php镜像,一个mysql镜像,一个nginx镜像。如果没有docker-compose,
157 | 那么每次启动的时候,你需要敲各个容器的启动参数,环境变量,容器命名,指定不同容器的链接参数等等一系列的操作,
158 | 相当繁琐。而用了docker-compose之后,你就可以把这些命令一次性写在docker-compose.yml文件中,以后每次启动
159 | 这一整个环境(含3个容器)的时候,你只要敲一个docker-compose up命令就ok了
160 |
161 | #### 1. 安装docker-compose
162 |
163 |
164 |
165 |
`查看版本信息`
166 |
167 | #### 2. 一键部署环境
168 | /server/compose/docker-compose.yml已经配置好了 直接输入命令即可
169 |
170 |
171 |
172 |
173 |
174 | 
175 |
176 | 对比上面运行容器命令来看docker_yml的配置结构和语义就一目了然了
177 |
178 |
179 | 阶段三 dokcer-compose和dockerfile 完整构建
180 |
181 | 用了docker-compose实现一键式操作 但问题是PHP的扩展库还是得自己单独装 所以这里需要用到Dockerfile来构建自定义容器镜像
182 | 实现真正的一键完成
183 |
184 | 目录:
185 | server -|
186 | -| compose.dockerfiles -| docker-compose.yml
187 | -| mysql -| Dockerfile 这里设置我们自定的dockerfile来构建mysql镜像
188 | |
189 | -| nginx -| Dockerfile 这里设置我们自定的dockerfile来构建nginx镜像
190 | |
191 | -| php -| Dockerfile 这里设置我们自定的dockerfile来构建php镜像
192 | |
193 | -| redis -| Dockerfile 这里设置我们自定的dockerfile来构建redis镜像
194 |
195 |
196 |
197 | 
198 |
199 | 自定义php的dockerfile构建自定义镜像同时安装扩展 完成了所有dockerfile配置后 docker-compose.yml文件就不需要
200 | 再用官方镜像image:php-fpm:7.2 而是直接build:./php 直接引用目录配置好的Dockerfile
201 | 最后提示: 镜像一旦创建了下次docker-compose会直接取已有镜像而不会build创建 若你修改了Dockerfile配置请记得删除之前镜像
202 |
203 |
204 |
205 |
206 |
207 |
208 | 以上就是docker所有的环境配置方式
209 |
210 | ----------------------------------------------------
211 | ### 其他补充
212 | 问题1
213 |
214 | 当你用docker-compose自动化部署后想要更换其中一个容器
215 | 假设场景 在自动部署环境后发现nginx容器没有开启443端口
216 |
217 | #### 1. 查询自动化部署的容器组环境所在网段
218 |
219 | `查询所有网段命令`
220 |
221 |
222 |
223 | `查询nginx所在网段 找到HostConfig.NetworkMode下所对应值 例如:composedockerfiles_default`
224 |
225 |
226 |
227 | #### 2. 先删除nginx容器
228 |
229 |
230 |
231 | #### 3. 重启一个新的nginx容器 并且桥接相同网段
232 |
233 | `在原来的基础上-p加上新端口443 并且使用网段桥接 --net=composedockerfiles_default`
234 |
235 |
236 |
237 |
238 | 问题2
239 |
240 | 当你在宿主机上需要用cli模式运行php
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
--------------------------------------------------------------------------------
/php/php-fpm.d/www.conf:
--------------------------------------------------------------------------------
1 | ; Start a new pool named 'www'.
2 | ; the variable $pool can be used in any directive and will be replaced by the
3 | ; pool name ('www' here)
4 | [www]
5 |
6 | ; Per pool prefix
7 | ; It only applies on the following directives:
8 | ; - 'access.log'
9 | ; - 'slowlog'
10 | ; - 'listen' (unixsocket)
11 | ; - 'chroot'
12 | ; - 'chdir'
13 | ; - 'php_values'
14 | ; - 'php_admin_values'
15 | ; When not set, the global prefix (or NONE) applies instead.
16 | ; Note: This directive can also be relative to the global prefix.
17 | ; Default Value: none
18 | ;prefix = /path/to/pools/$pool
19 |
20 | ; Unix user/group of processes
21 | ; Note: The user is mandatory. If the group is not set, the default user's group
22 | ; will be used.
23 | user = www-data
24 | group = www-data
25 |
26 | ; The address on which to accept FastCGI requests.
27 | ; Valid syntaxes are:
28 | ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on
29 | ; a specific port;
30 | ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
31 | ; a specific port;
32 | ; 'port' - to listen on a TCP socket to all addresses
33 | ; (IPv6 and IPv4-mapped) on a specific port;
34 | ; '/path/to/unix/socket' - to listen on a unix socket.
35 | ; Note: This value is mandatory.
36 | listen = 127.0.0.1:9000
37 |
38 | ; Set listen(2) backlog.
39 | ; Default Value: 511 (-1 on FreeBSD and OpenBSD)
40 | ;listen.backlog = 511
41 |
42 | ; Set permissions for unix socket, if one is used. In Linux, read/write
43 | ; permissions must be set in order to allow connections from a web server. Many
44 | ; BSD-derived systems allow connections regardless of permissions.
45 | ; Default Values: user and group are set as the running user
46 | ; mode is set to 0660
47 | ;listen.owner = www-data
48 | ;listen.group = www-data
49 | ;listen.mode = 0660
50 | ; When POSIX Access Control Lists are supported you can set them using
51 | ; these options, value is a comma separated list of user/group names.
52 | ; When set, listen.owner and listen.group are ignored
53 | ;listen.acl_users =
54 | ;listen.acl_groups =
55 |
56 | ; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect.
57 | ; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original
58 | ; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address
59 | ; must be separated by a comma. If this value is left blank, connections will be
60 | ; accepted from any ip address.
61 | ; Default Value: any
62 | ;listen.allowed_clients = 127.0.0.1
63 |
64 | ; Specify the nice(2) priority to apply to the pool processes (only if set)
65 | ; The value can vary from -19 (highest priority) to 20 (lower priority)
66 | ; Note: - It will only work if the FPM master process is launched as root
67 | ; - The pool processes will inherit the master process priority
68 | ; unless it specified otherwise
69 | ; Default Value: no set
70 | ; process.priority = -19
71 |
72 | ; Set the process dumpable flag (PR_SET_DUMPABLE prctl) even if the process user
73 | ; or group is differrent than the master process user. It allows to create process
74 | ; core dump and ptrace the process for the pool user.
75 | ; Default Value: no
76 | ; process.dumpable = yes
77 |
78 | ; Choose how the process manager will control the number of child processes.
79 | ; Possible Values:
80 | ; static - a fixed number (pm.max_children) of child processes;
81 | ; dynamic - the number of child processes are set dynamically based on the
82 | ; following directives. With this process management, there will be
83 | ; always at least 1 children.
84 | ; pm.max_children - the maximum number of children that can
85 | ; be alive at the same time.
86 | ; pm.start_servers - the number of children created on startup.
87 | ; pm.min_spare_servers - the minimum number of children in 'idle'
88 | ; state (waiting to process). If the number
89 | ; of 'idle' processes is less than this
90 | ; number then some children will be created.
91 | ; pm.max_spare_servers - the maximum number of children in 'idle'
92 | ; state (waiting to process). If the number
93 | ; of 'idle' processes is greater than this
94 | ; number then some children will be killed.
95 | ; ondemand - no children are created at startup. Children will be forked when
96 | ; new requests will connect. The following parameter are used:
97 | ; pm.max_children - the maximum number of children that
98 | ; can be alive at the same time.
99 | ; pm.process_idle_timeout - The number of seconds after which
100 | ; an idle process will be killed.
101 | ; Note: This value is mandatory.
102 | pm = dynamic
103 |
104 | ; The number of child processes to be created when pm is set to 'static' and the
105 | ; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.
106 | ; This value sets the limit on the number of simultaneous requests that will be
107 | ; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.
108 | ; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP
109 | ; CGI. The below defaults are based on a server without much resources. Don't
110 | ; forget to tweak pm.* to fit your needs.
111 | ; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'
112 | ; Note: This value is mandatory.
113 | pm.max_children = 5
114 |
115 | ; The number of child processes created on startup.
116 | ; Note: Used only when pm is set to 'dynamic'
117 | ; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
118 | pm.start_servers = 2
119 |
120 | ; The desired minimum number of idle server processes.
121 | ; Note: Used only when pm is set to 'dynamic'
122 | ; Note: Mandatory when pm is set to 'dynamic'
123 | pm.min_spare_servers = 1
124 |
125 | ; The desired maximum number of idle server processes.
126 | ; Note: Used only when pm is set to 'dynamic'
127 | ; Note: Mandatory when pm is set to 'dynamic'
128 | pm.max_spare_servers = 3
129 |
130 | ; The number of seconds after which an idle process will be killed.
131 | ; Note: Used only when pm is set to 'ondemand'
132 | ; Default Value: 10s
133 | ;pm.process_idle_timeout = 10s;
134 |
135 | ; The number of requests each child process should execute before respawning.
136 | ; This can be useful to work around memory leaks in 3rd party libraries. For
137 | ; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
138 | ; Default Value: 0
139 | ;pm.max_requests = 500
140 |
141 | ; The URI to view the FPM status page. If this value is not set, no URI will be
142 | ; recognized as a status page. It shows the following informations:
143 | ; pool - the name of the pool;
144 | ; process manager - static, dynamic or ondemand;
145 | ; start time - the date and time FPM has started;
146 | ; start since - number of seconds since FPM has started;
147 | ; accepted conn - the number of request accepted by the pool;
148 | ; listen queue - the number of request in the queue of pending
149 | ; connections (see backlog in listen(2));
150 | ; max listen queue - the maximum number of requests in the queue
151 | ; of pending connections since FPM has started;
152 | ; listen queue len - the size of the socket queue of pending connections;
153 | ; idle processes - the number of idle processes;
154 | ; active processes - the number of active processes;
155 | ; total processes - the number of idle + active processes;
156 | ; max active processes - the maximum number of active processes since FPM
157 | ; has started;
158 | ; max children reached - number of times, the process limit has been reached,
159 | ; when pm tries to start more children (works only for
160 | ; pm 'dynamic' and 'ondemand');
161 | ; Value are updated in real time.
162 | ; Example output:
163 | ; pool: www
164 | ; process manager: static
165 | ; start time: 01/Jul/2011:17:53:49 +0200
166 | ; start since: 62636
167 | ; accepted conn: 190460
168 | ; listen queue: 0
169 | ; max listen queue: 1
170 | ; listen queue len: 42
171 | ; idle processes: 4
172 | ; active processes: 11
173 | ; total processes: 15
174 | ; max active processes: 12
175 | ; max children reached: 0
176 | ;
177 | ; By default the status page output is formatted as text/plain. Passing either
178 | ; 'html', 'xml' or 'json' in the query string will return the corresponding
179 | ; output syntax. Example:
180 | ; http://www.foo.bar/status
181 | ; http://www.foo.bar/status?json
182 | ; http://www.foo.bar/status?html
183 | ; http://www.foo.bar/status?xml
184 | ;
185 | ; By default the status page only outputs short status. Passing 'full' in the
186 | ; query string will also return status for each pool process.
187 | ; Example:
188 | ; http://www.foo.bar/status?full
189 | ; http://www.foo.bar/status?json&full
190 | ; http://www.foo.bar/status?html&full
191 | ; http://www.foo.bar/status?xml&full
192 | ; The Full status returns for each process:
193 | ; pid - the PID of the process;
194 | ; state - the state of the process (Idle, Running, ...);
195 | ; start time - the date and time the process has started;
196 | ; start since - the number of seconds since the process has started;
197 | ; requests - the number of requests the process has served;
198 | ; request duration - the duration in µs of the requests;
199 | ; request method - the request method (GET, POST, ...);
200 | ; request URI - the request URI with the query string;
201 | ; content length - the content length of the request (only with POST);
202 | ; user - the user (PHP_AUTH_USER) (or '-' if not set);
203 | ; script - the main script called (or '-' if not set);
204 | ; last request cpu - the %cpu the last request consumed
205 | ; it's always 0 if the process is not in Idle state
206 | ; because CPU calculation is done when the request
207 | ; processing has terminated;
208 | ; last request memory - the max amount of memory the last request consumed
209 | ; it's always 0 if the process is not in Idle state
210 | ; because memory calculation is done when the request
211 | ; processing has terminated;
212 | ; If the process is in Idle state, then informations are related to the
213 | ; last request the process has served. Otherwise informations are related to
214 | ; the current request being served.
215 | ; Example output:
216 | ; ************************
217 | ; pid: 31330
218 | ; state: Running
219 | ; start time: 01/Jul/2011:17:53:49 +0200
220 | ; start since: 63087
221 | ; requests: 12808
222 | ; request duration: 1250261
223 | ; request method: GET
224 | ; request URI: /test_mem.php?N=10000
225 | ; content length: 0
226 | ; user: -
227 | ; script: /home/fat/web/docs/php/test_mem.php
228 | ; last request cpu: 0.00
229 | ; last request memory: 0
230 | ;
231 | ; Note: There is a real-time FPM status monitoring sample web page available
232 | ; It's available in: /usr/local/share/php/fpm/status.html
233 | ;
234 | ; Note: The value must start with a leading slash (/). The value can be
235 | ; anything, but it may not be a good idea to use the .php extension or it
236 | ; may conflict with a real PHP file.
237 | ; Default Value: not set
238 | ;pm.status_path = /status
239 |
240 | ; The ping URI to call the monitoring page of FPM. If this value is not set, no
241 | ; URI will be recognized as a ping page. This could be used to test from outside
242 | ; that FPM is alive and responding, or to
243 | ; - create a graph of FPM availability (rrd or such);
244 | ; - remove a server from a group if it is not responding (load balancing);
245 | ; - trigger alerts for the operating team (24/7).
246 | ; Note: The value must start with a leading slash (/). The value can be
247 | ; anything, but it may not be a good idea to use the .php extension or it
248 | ; may conflict with a real PHP file.
249 | ; Default Value: not set
250 | ;ping.path = /ping
251 |
252 | ; This directive may be used to customize the response of a ping request. The
253 | ; response is formatted as text/plain with a 200 response code.
254 | ; Default Value: pong
255 | ;ping.response = pong
256 |
257 | ; The access log file
258 | ; Default: not set
259 | ;access.log = log/$pool.access.log
260 |
261 | ; The access log format.
262 | ; The following syntax is allowed
263 | ; %%: the '%' character
264 | ; %C: %CPU used by the request
265 | ; it can accept the following format:
266 | ; - %{user}C for user CPU only
267 | ; - %{system}C for system CPU only
268 | ; - %{total}C for user + system CPU (default)
269 | ; %d: time taken to serve the request
270 | ; it can accept the following format:
271 | ; - %{seconds}d (default)
272 | ; - %{miliseconds}d
273 | ; - %{mili}d
274 | ; - %{microseconds}d
275 | ; - %{micro}d
276 | ; %e: an environment variable (same as $_ENV or $_SERVER)
277 | ; it must be associated with embraces to specify the name of the env
278 | ; variable. Some exemples:
279 | ; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e
280 | ; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e
281 | ; %f: script filename
282 | ; %l: content-length of the request (for POST request only)
283 | ; %m: request method
284 | ; %M: peak of memory allocated by PHP
285 | ; it can accept the following format:
286 | ; - %{bytes}M (default)
287 | ; - %{kilobytes}M
288 | ; - %{kilo}M
289 | ; - %{megabytes}M
290 | ; - %{mega}M
291 | ; %n: pool name
292 | ; %o: output header
293 | ; it must be associated with embraces to specify the name of the header:
294 | ; - %{Content-Type}o
295 | ; - %{X-Powered-By}o
296 | ; - %{Transfert-Encoding}o
297 | ; - ....
298 | ; %p: PID of the child that serviced the request
299 | ; %P: PID of the parent of the child that serviced the request
300 | ; %q: the query string
301 | ; %Q: the '?' character if query string exists
302 | ; %r: the request URI (without the query string, see %q and %Q)
303 | ; %R: remote IP address
304 | ; %s: status (response code)
305 | ; %t: server time the request was received
306 | ; it can accept a strftime(3) format:
307 | ; %d/%b/%Y:%H:%M:%S %z (default)
308 | ; The strftime(3) format must be encapsuled in a %{}t tag
309 | ; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
310 | ; %T: time the log has been written (the request has finished)
311 | ; it can accept a strftime(3) format:
312 | ; %d/%b/%Y:%H:%M:%S %z (default)
313 | ; The strftime(3) format must be encapsuled in a %{}t tag
314 | ; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
315 | ; %u: remote user
316 | ;
317 | ; Default: "%R - %u %t \"%m %r\" %s"
318 | ;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
319 |
320 | ; The log file for slow requests
321 | ; Default Value: not set
322 | ; Note: slowlog is mandatory if request_slowlog_timeout is set
323 | ;slowlog = log/$pool.log.slow
324 |
325 | ; The timeout for serving a single request after which a PHP backtrace will be
326 | ; dumped to the 'slowlog' file. A value of '0s' means 'off'.
327 | ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
328 | ; Default Value: 0
329 | ;request_slowlog_timeout = 0
330 |
331 | ; Depth of slow log stack trace.
332 | ; Default Value: 20
333 | ;request_slowlog_trace_depth = 20
334 |
335 | ; The timeout for serving a single request after which the worker process will
336 | ; be killed. This option should be used when the 'max_execution_time' ini option
337 | ; does not stop script execution for some reason. A value of '0' means 'off'.
338 | ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
339 | ; Default Value: 0
340 | ;request_terminate_timeout = 0
341 |
342 | ; Set open file descriptor rlimit.
343 | ; Default Value: system defined value
344 | ;rlimit_files = 1024
345 |
346 | ; Set max core size rlimit.
347 | ; Possible Values: 'unlimited' or an integer greater or equal to 0
348 | ; Default Value: system defined value
349 | ;rlimit_core = 0
350 |
351 | ; Chroot to this directory at the start. This value must be defined as an
352 | ; absolute path. When this value is not set, chroot is not used.
353 | ; Note: you can prefix with '$prefix' to chroot to the pool prefix or one
354 | ; of its subdirectories. If the pool prefix is not set, the global prefix
355 | ; will be used instead.
356 | ; Note: chrooting is a great security feature and should be used whenever
357 | ; possible. However, all PHP paths will be relative to the chroot
358 | ; (error_log, sessions.save_path, ...).
359 | ; Default Value: not set
360 | ;chroot =
361 |
362 | ; Chdir to this directory at the start.
363 | ; Note: relative path can be used.
364 | ; Default Value: current directory or / when chroot
365 | ;chdir = /var/www
366 |
367 | ; Redirect worker stdout and stderr into main error log. If not set, stdout and
368 | ; stderr will be redirected to /dev/null according to FastCGI specs.
369 | ; Note: on highloaded environement, this can cause some delay in the page
370 | ; process time (several ms).
371 | ; Default Value: no
372 | ;catch_workers_output = yes
373 |
374 | ; Clear environment in FPM workers
375 | ; Prevents arbitrary environment variables from reaching FPM worker processes
376 | ; by clearing the environment in workers before env vars specified in this
377 | ; pool configuration are added.
378 | ; Setting to "no" will make all environment variables available to PHP code
379 | ; via getenv(), $_ENV and $_SERVER.
380 | ; Default Value: yes
381 | ;clear_env = no
382 |
383 | ; Limits the extensions of the main script FPM will allow to parse. This can
384 | ; prevent configuration mistakes on the web server side. You should only limit
385 | ; FPM to .php extensions to prevent malicious users to use other extensions to
386 | ; execute php code.
387 | ; Note: set an empty value to allow all extensions.
388 | ; Default Value: .php
389 | ;security.limit_extensions = .php .php3 .php4 .php5 .php7
390 |
391 | ; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
392 | ; the current environment.
393 | ; Default Value: clean env
394 | ;env[HOSTNAME] = $HOSTNAME
395 | ;env[PATH] = /usr/local/bin:/usr/bin:/bin
396 | ;env[TMP] = /tmp
397 | ;env[TMPDIR] = /tmp
398 | ;env[TEMP] = /tmp
399 |
400 | ; Additional php.ini defines, specific to this pool of workers. These settings
401 | ; overwrite the values previously defined in the php.ini. The directives are the
402 | ; same as the PHP SAPI:
403 | ; php_value/php_flag - you can set classic ini defines which can
404 | ; be overwritten from PHP call 'ini_set'.
405 | ; php_admin_value/php_admin_flag - these directives won't be overwritten by
406 | ; PHP call 'ini_set'
407 | ; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no.
408 |
409 | ; Defining 'extension' will load the corresponding shared extension from
410 | ; extension_dir. Defining 'disable_functions' or 'disable_classes' will not
411 | ; overwrite previously defined php.ini values, but will append the new value
412 | ; instead.
413 |
414 | ; Note: path INI options can be relative and will be expanded with the prefix
415 | ; (pool, global or /usr/local)
416 |
417 | ; Default Value: nothing is defined by default except the values in php.ini and
418 | ; specified at startup with the -d argument
419 | ;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
420 | ;php_flag[display_errors] = off
421 | ;php_admin_value[error_log] = /var/log/fpm-php.www.log
422 | ;php_admin_flag[log_errors] = on
423 | ;php_admin_value[memory_limit] = 32M
424 |
--------------------------------------------------------------------------------
/php/php-fpm.d/www.conf.default:
--------------------------------------------------------------------------------
1 | ; Start a new pool named 'www'.
2 | ; the variable $pool can be used in any directive and will be replaced by the
3 | ; pool name ('www' here)
4 | [www]
5 |
6 | ; Per pool prefix
7 | ; It only applies on the following directives:
8 | ; - 'access.log'
9 | ; - 'slowlog'
10 | ; - 'listen' (unixsocket)
11 | ; - 'chroot'
12 | ; - 'chdir'
13 | ; - 'php_values'
14 | ; - 'php_admin_values'
15 | ; When not set, the global prefix (or NONE) applies instead.
16 | ; Note: This directive can also be relative to the global prefix.
17 | ; Default Value: none
18 | ;prefix = /path/to/pools/$pool
19 |
20 | ; Unix user/group of processes
21 | ; Note: The user is mandatory. If the group is not set, the default user's group
22 | ; will be used.
23 | user = www-data
24 | group = www-data
25 |
26 | ; The address on which to accept FastCGI requests.
27 | ; Valid syntaxes are:
28 | ; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on
29 | ; a specific port;
30 | ; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on
31 | ; a specific port;
32 | ; 'port' - to listen on a TCP socket to all addresses
33 | ; (IPv6 and IPv4-mapped) on a specific port;
34 | ; '/path/to/unix/socket' - to listen on a unix socket.
35 | ; Note: This value is mandatory.
36 | listen = 127.0.0.1:9000
37 |
38 | ; Set listen(2) backlog.
39 | ; Default Value: 511 (-1 on FreeBSD and OpenBSD)
40 | ;listen.backlog = 511
41 |
42 | ; Set permissions for unix socket, if one is used. In Linux, read/write
43 | ; permissions must be set in order to allow connections from a web server. Many
44 | ; BSD-derived systems allow connections regardless of permissions.
45 | ; Default Values: user and group are set as the running user
46 | ; mode is set to 0660
47 | ;listen.owner = www-data
48 | ;listen.group = www-data
49 | ;listen.mode = 0660
50 | ; When POSIX Access Control Lists are supported you can set them using
51 | ; these options, value is a comma separated list of user/group names.
52 | ; When set, listen.owner and listen.group are ignored
53 | ;listen.acl_users =
54 | ;listen.acl_groups =
55 |
56 | ; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect.
57 | ; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original
58 | ; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address
59 | ; must be separated by a comma. If this value is left blank, connections will be
60 | ; accepted from any ip address.
61 | ; Default Value: any
62 | ;listen.allowed_clients = 127.0.0.1
63 |
64 | ; Specify the nice(2) priority to apply to the pool processes (only if set)
65 | ; The value can vary from -19 (highest priority) to 20 (lower priority)
66 | ; Note: - It will only work if the FPM master process is launched as root
67 | ; - The pool processes will inherit the master process priority
68 | ; unless it specified otherwise
69 | ; Default Value: no set
70 | ; process.priority = -19
71 |
72 | ; Set the process dumpable flag (PR_SET_DUMPABLE prctl) even if the process user
73 | ; or group is differrent than the master process user. It allows to create process
74 | ; core dump and ptrace the process for the pool user.
75 | ; Default Value: no
76 | ; process.dumpable = yes
77 |
78 | ; Choose how the process manager will control the number of child processes.
79 | ; Possible Values:
80 | ; static - a fixed number (pm.max_children) of child processes;
81 | ; dynamic - the number of child processes are set dynamically based on the
82 | ; following directives. With this process management, there will be
83 | ; always at least 1 children.
84 | ; pm.max_children - the maximum number of children that can
85 | ; be alive at the same time.
86 | ; pm.start_servers - the number of children created on startup.
87 | ; pm.min_spare_servers - the minimum number of children in 'idle'
88 | ; state (waiting to process). If the number
89 | ; of 'idle' processes is less than this
90 | ; number then some children will be created.
91 | ; pm.max_spare_servers - the maximum number of children in 'idle'
92 | ; state (waiting to process). If the number
93 | ; of 'idle' processes is greater than this
94 | ; number then some children will be killed.
95 | ; ondemand - no children are created at startup. Children will be forked when
96 | ; new requests will connect. The following parameter are used:
97 | ; pm.max_children - the maximum number of children that
98 | ; can be alive at the same time.
99 | ; pm.process_idle_timeout - The number of seconds after which
100 | ; an idle process will be killed.
101 | ; Note: This value is mandatory.
102 | pm = dynamic
103 |
104 | ; The number of child processes to be created when pm is set to 'static' and the
105 | ; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'.
106 | ; This value sets the limit on the number of simultaneous requests that will be
107 | ; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.
108 | ; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP
109 | ; CGI. The below defaults are based on a server without much resources. Don't
110 | ; forget to tweak pm.* to fit your needs.
111 | ; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand'
112 | ; Note: This value is mandatory.
113 | pm.max_children = 5
114 |
115 | ; The number of child processes created on startup.
116 | ; Note: Used only when pm is set to 'dynamic'
117 | ; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
118 | pm.start_servers = 2
119 |
120 | ; The desired minimum number of idle server processes.
121 | ; Note: Used only when pm is set to 'dynamic'
122 | ; Note: Mandatory when pm is set to 'dynamic'
123 | pm.min_spare_servers = 1
124 |
125 | ; The desired maximum number of idle server processes.
126 | ; Note: Used only when pm is set to 'dynamic'
127 | ; Note: Mandatory when pm is set to 'dynamic'
128 | pm.max_spare_servers = 3
129 |
130 | ; The number of seconds after which an idle process will be killed.
131 | ; Note: Used only when pm is set to 'ondemand'
132 | ; Default Value: 10s
133 | ;pm.process_idle_timeout = 10s;
134 |
135 | ; The number of requests each child process should execute before respawning.
136 | ; This can be useful to work around memory leaks in 3rd party libraries. For
137 | ; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
138 | ; Default Value: 0
139 | ;pm.max_requests = 500
140 |
141 | ; The URI to view the FPM status page. If this value is not set, no URI will be
142 | ; recognized as a status page. It shows the following informations:
143 | ; pool - the name of the pool;
144 | ; process manager - static, dynamic or ondemand;
145 | ; start time - the date and time FPM has started;
146 | ; start since - number of seconds since FPM has started;
147 | ; accepted conn - the number of request accepted by the pool;
148 | ; listen queue - the number of request in the queue of pending
149 | ; connections (see backlog in listen(2));
150 | ; max listen queue - the maximum number of requests in the queue
151 | ; of pending connections since FPM has started;
152 | ; listen queue len - the size of the socket queue of pending connections;
153 | ; idle processes - the number of idle processes;
154 | ; active processes - the number of active processes;
155 | ; total processes - the number of idle + active processes;
156 | ; max active processes - the maximum number of active processes since FPM
157 | ; has started;
158 | ; max children reached - number of times, the process limit has been reached,
159 | ; when pm tries to start more children (works only for
160 | ; pm 'dynamic' and 'ondemand');
161 | ; Value are updated in real time.
162 | ; Example output:
163 | ; pool: www
164 | ; process manager: static
165 | ; start time: 01/Jul/2011:17:53:49 +0200
166 | ; start since: 62636
167 | ; accepted conn: 190460
168 | ; listen queue: 0
169 | ; max listen queue: 1
170 | ; listen queue len: 42
171 | ; idle processes: 4
172 | ; active processes: 11
173 | ; total processes: 15
174 | ; max active processes: 12
175 | ; max children reached: 0
176 | ;
177 | ; By default the status page output is formatted as text/plain. Passing either
178 | ; 'html', 'xml' or 'json' in the query string will return the corresponding
179 | ; output syntax. Example:
180 | ; http://www.foo.bar/status
181 | ; http://www.foo.bar/status?json
182 | ; http://www.foo.bar/status?html
183 | ; http://www.foo.bar/status?xml
184 | ;
185 | ; By default the status page only outputs short status. Passing 'full' in the
186 | ; query string will also return status for each pool process.
187 | ; Example:
188 | ; http://www.foo.bar/status?full
189 | ; http://www.foo.bar/status?json&full
190 | ; http://www.foo.bar/status?html&full
191 | ; http://www.foo.bar/status?xml&full
192 | ; The Full status returns for each process:
193 | ; pid - the PID of the process;
194 | ; state - the state of the process (Idle, Running, ...);
195 | ; start time - the date and time the process has started;
196 | ; start since - the number of seconds since the process has started;
197 | ; requests - the number of requests the process has served;
198 | ; request duration - the duration in µs of the requests;
199 | ; request method - the request method (GET, POST, ...);
200 | ; request URI - the request URI with the query string;
201 | ; content length - the content length of the request (only with POST);
202 | ; user - the user (PHP_AUTH_USER) (or '-' if not set);
203 | ; script - the main script called (or '-' if not set);
204 | ; last request cpu - the %cpu the last request consumed
205 | ; it's always 0 if the process is not in Idle state
206 | ; because CPU calculation is done when the request
207 | ; processing has terminated;
208 | ; last request memory - the max amount of memory the last request consumed
209 | ; it's always 0 if the process is not in Idle state
210 | ; because memory calculation is done when the request
211 | ; processing has terminated;
212 | ; If the process is in Idle state, then informations are related to the
213 | ; last request the process has served. Otherwise informations are related to
214 | ; the current request being served.
215 | ; Example output:
216 | ; ************************
217 | ; pid: 31330
218 | ; state: Running
219 | ; start time: 01/Jul/2011:17:53:49 +0200
220 | ; start since: 63087
221 | ; requests: 12808
222 | ; request duration: 1250261
223 | ; request method: GET
224 | ; request URI: /test_mem.php?N=10000
225 | ; content length: 0
226 | ; user: -
227 | ; script: /home/fat/web/docs/php/test_mem.php
228 | ; last request cpu: 0.00
229 | ; last request memory: 0
230 | ;
231 | ; Note: There is a real-time FPM status monitoring sample web page available
232 | ; It's available in: /usr/local/share/php/fpm/status.html
233 | ;
234 | ; Note: The value must start with a leading slash (/). The value can be
235 | ; anything, but it may not be a good idea to use the .php extension or it
236 | ; may conflict with a real PHP file.
237 | ; Default Value: not set
238 | ;pm.status_path = /status
239 |
240 | ; The ping URI to call the monitoring page of FPM. If this value is not set, no
241 | ; URI will be recognized as a ping page. This could be used to test from outside
242 | ; that FPM is alive and responding, or to
243 | ; - create a graph of FPM availability (rrd or such);
244 | ; - remove a server from a group if it is not responding (load balancing);
245 | ; - trigger alerts for the operating team (24/7).
246 | ; Note: The value must start with a leading slash (/). The value can be
247 | ; anything, but it may not be a good idea to use the .php extension or it
248 | ; may conflict with a real PHP file.
249 | ; Default Value: not set
250 | ;ping.path = /ping
251 |
252 | ; This directive may be used to customize the response of a ping request. The
253 | ; response is formatted as text/plain with a 200 response code.
254 | ; Default Value: pong
255 | ;ping.response = pong
256 |
257 | ; The access log file
258 | ; Default: not set
259 | ;access.log = log/$pool.access.log
260 |
261 | ; The access log format.
262 | ; The following syntax is allowed
263 | ; %%: the '%' character
264 | ; %C: %CPU used by the request
265 | ; it can accept the following format:
266 | ; - %{user}C for user CPU only
267 | ; - %{system}C for system CPU only
268 | ; - %{total}C for user + system CPU (default)
269 | ; %d: time taken to serve the request
270 | ; it can accept the following format:
271 | ; - %{seconds}d (default)
272 | ; - %{miliseconds}d
273 | ; - %{mili}d
274 | ; - %{microseconds}d
275 | ; - %{micro}d
276 | ; %e: an environment variable (same as $_ENV or $_SERVER)
277 | ; it must be associated with embraces to specify the name of the env
278 | ; variable. Some exemples:
279 | ; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e
280 | ; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e
281 | ; %f: script filename
282 | ; %l: content-length of the request (for POST request only)
283 | ; %m: request method
284 | ; %M: peak of memory allocated by PHP
285 | ; it can accept the following format:
286 | ; - %{bytes}M (default)
287 | ; - %{kilobytes}M
288 | ; - %{kilo}M
289 | ; - %{megabytes}M
290 | ; - %{mega}M
291 | ; %n: pool name
292 | ; %o: output header
293 | ; it must be associated with embraces to specify the name of the header:
294 | ; - %{Content-Type}o
295 | ; - %{X-Powered-By}o
296 | ; - %{Transfert-Encoding}o
297 | ; - ....
298 | ; %p: PID of the child that serviced the request
299 | ; %P: PID of the parent of the child that serviced the request
300 | ; %q: the query string
301 | ; %Q: the '?' character if query string exists
302 | ; %r: the request URI (without the query string, see %q and %Q)
303 | ; %R: remote IP address
304 | ; %s: status (response code)
305 | ; %t: server time the request was received
306 | ; it can accept a strftime(3) format:
307 | ; %d/%b/%Y:%H:%M:%S %z (default)
308 | ; The strftime(3) format must be encapsuled in a %{}t tag
309 | ; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
310 | ; %T: time the log has been written (the request has finished)
311 | ; it can accept a strftime(3) format:
312 | ; %d/%b/%Y:%H:%M:%S %z (default)
313 | ; The strftime(3) format must be encapsuled in a %{}t tag
314 | ; e.g. for a ISO8601 formatted timestring, use: %{%Y-%m-%dT%H:%M:%S%z}t
315 | ; %u: remote user
316 | ;
317 | ; Default: "%R - %u %t \"%m %r\" %s"
318 | ;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
319 |
320 | ; The log file for slow requests
321 | ; Default Value: not set
322 | ; Note: slowlog is mandatory if request_slowlog_timeout is set
323 | ;slowlog = log/$pool.log.slow
324 |
325 | ; The timeout for serving a single request after which a PHP backtrace will be
326 | ; dumped to the 'slowlog' file. A value of '0s' means 'off'.
327 | ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
328 | ; Default Value: 0
329 | ;request_slowlog_timeout = 0
330 |
331 | ; Depth of slow log stack trace.
332 | ; Default Value: 20
333 | ;request_slowlog_trace_depth = 20
334 |
335 | ; The timeout for serving a single request after which the worker process will
336 | ; be killed. This option should be used when the 'max_execution_time' ini option
337 | ; does not stop script execution for some reason. A value of '0' means 'off'.
338 | ; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
339 | ; Default Value: 0
340 | ;request_terminate_timeout = 0
341 |
342 | ; Set open file descriptor rlimit.
343 | ; Default Value: system defined value
344 | ;rlimit_files = 1024
345 |
346 | ; Set max core size rlimit.
347 | ; Possible Values: 'unlimited' or an integer greater or equal to 0
348 | ; Default Value: system defined value
349 | ;rlimit_core = 0
350 |
351 | ; Chroot to this directory at the start. This value must be defined as an
352 | ; absolute path. When this value is not set, chroot is not used.
353 | ; Note: you can prefix with '$prefix' to chroot to the pool prefix or one
354 | ; of its subdirectories. If the pool prefix is not set, the global prefix
355 | ; will be used instead.
356 | ; Note: chrooting is a great security feature and should be used whenever
357 | ; possible. However, all PHP paths will be relative to the chroot
358 | ; (error_log, sessions.save_path, ...).
359 | ; Default Value: not set
360 | ;chroot =
361 |
362 | ; Chdir to this directory at the start.
363 | ; Note: relative path can be used.
364 | ; Default Value: current directory or / when chroot
365 | ;chdir = /var/www
366 |
367 | ; Redirect worker stdout and stderr into main error log. If not set, stdout and
368 | ; stderr will be redirected to /dev/null according to FastCGI specs.
369 | ; Note: on highloaded environement, this can cause some delay in the page
370 | ; process time (several ms).
371 | ; Default Value: no
372 | ;catch_workers_output = yes
373 |
374 | ; Clear environment in FPM workers
375 | ; Prevents arbitrary environment variables from reaching FPM worker processes
376 | ; by clearing the environment in workers before env vars specified in this
377 | ; pool configuration are added.
378 | ; Setting to "no" will make all environment variables available to PHP code
379 | ; via getenv(), $_ENV and $_SERVER.
380 | ; Default Value: yes
381 | ;clear_env = no
382 |
383 | ; Limits the extensions of the main script FPM will allow to parse. This can
384 | ; prevent configuration mistakes on the web server side. You should only limit
385 | ; FPM to .php extensions to prevent malicious users to use other extensions to
386 | ; execute php code.
387 | ; Note: set an empty value to allow all extensions.
388 | ; Default Value: .php
389 | ;security.limit_extensions = .php .php3 .php4 .php5 .php7
390 |
391 | ; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
392 | ; the current environment.
393 | ; Default Value: clean env
394 | ;env[HOSTNAME] = $HOSTNAME
395 | ;env[PATH] = /usr/local/bin:/usr/bin:/bin
396 | ;env[TMP] = /tmp
397 | ;env[TMPDIR] = /tmp
398 | ;env[TEMP] = /tmp
399 |
400 | ; Additional php.ini defines, specific to this pool of workers. These settings
401 | ; overwrite the values previously defined in the php.ini. The directives are the
402 | ; same as the PHP SAPI:
403 | ; php_value/php_flag - you can set classic ini defines which can
404 | ; be overwritten from PHP call 'ini_set'.
405 | ; php_admin_value/php_admin_flag - these directives won't be overwritten by
406 | ; PHP call 'ini_set'
407 | ; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no.
408 |
409 | ; Defining 'extension' will load the corresponding shared extension from
410 | ; extension_dir. Defining 'disable_functions' or 'disable_classes' will not
411 | ; overwrite previously defined php.ini values, but will append the new value
412 | ; instead.
413 |
414 | ; Note: path INI options can be relative and will be expanded with the prefix
415 | ; (pool, global or /usr/local)
416 |
417 | ; Default Value: nothing is defined by default except the values in php.ini and
418 | ; specified at startup with the -d argument
419 | ;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
420 | ;php_flag[display_errors] = off
421 | ;php_admin_value[error_log] = /var/log/fpm-php.www.log
422 | ;php_admin_flag[log_errors] = on
423 | ;php_admin_value[memory_limit] = 32M
424 |
--------------------------------------------------------------------------------
/php/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 is
82 | ; much more verbose when it comes to errors. We recommend 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.sid_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 | ; variables_order
162 | ; Default Value: "EGPCS"
163 | ; Development Value: "GPCS"
164 | ; Production Value: "GPCS"
165 |
166 | ;;;;;;;;;;;;;;;;;;;;
167 | ; php.ini Options ;
168 | ;;;;;;;;;;;;;;;;;;;;
169 | ; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini"
170 | ;user_ini.filename = ".user.ini"
171 |
172 | ; To disable this feature set this option to empty value
173 | ;user_ini.filename =
174 |
175 | ; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes)
176 | ;user_ini.cache_ttl = 300
177 |
178 | ;;;;;;;;;;;;;;;;;;;;
179 | ; Language Options ;
180 | ;;;;;;;;;;;;;;;;;;;;
181 |
182 | ; Enable the PHP scripting language engine under Apache.
183 | ; http://php.net/engine
184 | engine = On
185 |
186 | ; This directive determines whether or not PHP will recognize code between
187 | ; and ?> tags as PHP source which should be processed as such. It is
188 | ; generally recommended that should be used and that this feature
189 | ; should be disabled, as enabling it may result in issues when generating XML
190 | ; documents, however this remains supported for backward compatibility reasons.
191 | ; Note that this directive does not control the = shorthand tag, which can be
192 | ; used regardless of this directive.
193 | ; Default Value: On
194 | ; Development Value: Off
195 | ; Production Value: Off
196 | ; http://php.net/short-open-tag
197 | short_open_tag = Off
198 |
199 | ; The number of significant digits displayed in floating point numbers.
200 | ; http://php.net/precision
201 | precision = 14
202 |
203 | ; Output buffering is a mechanism for controlling how much output data
204 | ; (excluding headers and cookies) PHP should keep internally before pushing that
205 | ; data to the client. If your application's output exceeds this setting, PHP
206 | ; will send that data in chunks of roughly the size you specify.
207 | ; Turning on this setting and managing its maximum buffer size can yield some
208 | ; interesting side-effects depending on your application and web server.
209 | ; You may be able to send headers and cookies after you've already sent output
210 | ; through print or echo. You also may see performance benefits if your server is
211 | ; emitting less packets due to buffered output versus PHP streaming the output
212 | ; as it gets it. On production servers, 4096 bytes is a good setting for performance
213 | ; reasons.
214 | ; Note: Output buffering can also be controlled via Output Buffering Control
215 | ; functions.
216 | ; Possible Values:
217 | ; On = Enabled and buffer is unlimited. (Use with caution)
218 | ; Off = Disabled
219 | ; Integer = Enables the buffer and sets its maximum size in bytes.
220 | ; Note: This directive is hardcoded to Off for the CLI SAPI
221 | ; Default Value: Off
222 | ; Development Value: 4096
223 | ; Production Value: 4096
224 | ; http://php.net/output-buffering
225 | output_buffering = 4096
226 |
227 | ; You can redirect all of the output of your scripts to a function. For
228 | ; example, if you set output_handler to "mb_output_handler", character
229 | ; encoding will be transparently converted to the specified encoding.
230 | ; Setting any output handler automatically turns on output buffering.
231 | ; Note: People who wrote portable scripts should not depend on this ini
232 | ; directive. Instead, explicitly set the output handler using ob_start().
233 | ; Using this ini directive may cause problems unless you know what script
234 | ; is doing.
235 | ; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler"
236 | ; and you cannot use both "ob_gzhandler" and "zlib.output_compression".
237 | ; Note: output_handler must be empty if this is set 'On' !!!!
238 | ; Instead you must use zlib.output_handler.
239 | ; http://php.net/output-handler
240 | ;output_handler =
241 |
242 | ; URL rewriter function rewrites URL on the fly by using
243 | ; output buffer. You can set target tags by this configuration.
244 | ; "form" tag is special tag. It will add hidden input tag to pass values.
245 | ; Refer to session.trans_sid_tags for usage.
246 | ; Default Value: "form="
247 | ; Development Value: "form="
248 | ; Production Value: "form="
249 | ;url_rewriter.tags
250 |
251 | ; URL rewriter will not rewrites absolute URL nor form by default. To enable
252 | ; absolute URL rewrite, allowed hosts must be defined at RUNTIME.
253 | ; Refer to session.trans_sid_hosts for more details.
254 | ; Default Value: ""
255 | ; Development Value: ""
256 | ; Production Value: ""
257 | ;url_rewriter.hosts
258 |
259 | ; Transparent output compression using the zlib library
260 | ; Valid values for this option are 'off', 'on', or a specific buffer size
261 | ; to be used for compression (default is 4KB)
262 | ; Note: Resulting chunk size may vary due to nature of compression. PHP
263 | ; outputs chunks that are few hundreds bytes each as a result of
264 | ; compression. If you prefer a larger chunk size for better
265 | ; performance, enable output_buffering in addition.
266 | ; Note: You need to use zlib.output_handler instead of the standard
267 | ; output_handler, or otherwise the output will be corrupted.
268 | ; http://php.net/zlib.output-compression
269 | zlib.output_compression = Off
270 |
271 | ; http://php.net/zlib.output-compression-level
272 | ;zlib.output_compression_level = -1
273 |
274 | ; You cannot specify additional output handlers if zlib.output_compression
275 | ; is activated here. This setting does the same as output_handler but in
276 | ; a different order.
277 | ; http://php.net/zlib.output-handler
278 | ;zlib.output_handler =
279 |
280 | ; Implicit flush tells PHP to tell the output layer to flush itself
281 | ; automatically after every output block. This is equivalent to calling the
282 | ; PHP function flush() after each and every call to print() or echo() and each
283 | ; and every HTML block. Turning this option on has serious performance
284 | ; implications and is generally recommended for debugging purposes only.
285 | ; http://php.net/implicit-flush
286 | ; Note: This directive is hardcoded to On for the CLI SAPI
287 | implicit_flush = Off
288 |
289 | ; The unserialize callback function will be called (with the undefined class'
290 | ; name as parameter), if the unserializer finds an undefined class
291 | ; which should be instantiated. A warning appears if the specified function is
292 | ; not defined, or if the function doesn't include/implement the missing class.
293 | ; So only set this entry, if you really want to implement such a
294 | ; callback-function.
295 | unserialize_callback_func =
296 |
297 | ; When floats & doubles are serialized, store serialize_precision significant
298 | ; digits after the floating point. The default value ensures that when floats
299 | ; are decoded with unserialize, the data will remain the same.
300 | ; The value is also used for json_encode when encoding double values.
301 | ; If -1 is used, then dtoa mode 0 is used which automatically select the best
302 | ; precision.
303 | serialize_precision = -1
304 |
305 | ; open_basedir, if set, limits all file operations to the defined directory
306 | ; and below. This directive makes most sense if used in a per-directory
307 | ; or per-virtualhost web server configuration file.
308 | ; http://php.net/open-basedir
309 | ;open_basedir =
310 |
311 | ; This directive allows you to disable certain functions for security reasons.
312 | ; It receives a comma-delimited list of function names.
313 | ; http://php.net/disable-functions
314 | disable_functions =
315 |
316 | ; This directive allows you to disable certain classes for security reasons.
317 | ; It receives a comma-delimited list of class names.
318 | ; http://php.net/disable-classes
319 | disable_classes =
320 |
321 | ; Colors for Syntax Highlighting mode. Anything that's acceptable in
322 | ; would work.
323 | ; http://php.net/syntax-highlighting
324 | ;highlight.string = #DD0000
325 | ;highlight.comment = #FF9900
326 | ;highlight.keyword = #007700
327 | ;highlight.default = #0000BB
328 | ;highlight.html = #000000
329 |
330 | ; If enabled, the request will be allowed to complete even if the user aborts
331 | ; the request. Consider enabling it if executing long requests, which may end up
332 | ; being interrupted by the user or a browser timing out. PHP's default behavior
333 | ; is to disable this feature.
334 | ; http://php.net/ignore-user-abort
335 | ;ignore_user_abort = On
336 |
337 | ; Determines the size of the realpath cache to be used by PHP. This value should
338 | ; be increased on systems where PHP opens many files to reflect the quantity of
339 | ; the file operations performed.
340 | ; http://php.net/realpath-cache-size
341 | ;realpath_cache_size = 4096k
342 |
343 | ; Duration of time, in seconds for which to cache realpath information for a given
344 | ; file or directory. For systems with rarely changing files, consider increasing this
345 | ; value.
346 | ; http://php.net/realpath-cache-ttl
347 | ;realpath_cache_ttl = 120
348 |
349 | ; Enables or disables the circular reference collector.
350 | ; http://php.net/zend.enable-gc
351 | zend.enable_gc = On
352 |
353 | ; If enabled, scripts may be written in encodings that are incompatible with
354 | ; the scanner. CP936, Big5, CP949 and Shift_JIS are the examples of such
355 | ; encodings. To use this feature, mbstring extension must be enabled.
356 | ; Default: Off
357 | ;zend.multibyte = Off
358 |
359 | ; Allows to set the default encoding for the scripts. This value will be used
360 | ; unless "declare(encoding=...)" directive appears at the top of the script.
361 | ; Only affects if zend.multibyte is set.
362 | ; Default: ""
363 | ;zend.script_encoding =
364 |
365 | ;;;;;;;;;;;;;;;;;
366 | ; Miscellaneous ;
367 | ;;;;;;;;;;;;;;;;;
368 |
369 | ; Decides whether PHP may expose the fact that it is installed on the server
370 | ; (e.g. by adding its signature to the Web server header). It is no security
371 | ; threat in any way, but it makes it possible to determine whether you use PHP
372 | ; on your server or not.
373 | ; http://php.net/expose-php
374 | expose_php = On
375 |
376 | ;;;;;;;;;;;;;;;;;;;
377 | ; Resource Limits ;
378 | ;;;;;;;;;;;;;;;;;;;
379 |
380 | ; Maximum execution time of each script, in seconds
381 | ; http://php.net/max-execution-time
382 | ; Note: This directive is hardcoded to 0 for the CLI SAPI
383 | max_execution_time = 30
384 |
385 | ; Maximum amount of time each script may spend parsing request data. It's a good
386 | ; idea to limit this time on productions servers in order to eliminate unexpectedly
387 | ; long running scripts.
388 | ; Note: This directive is hardcoded to -1 for the CLI SAPI
389 | ; Default Value: -1 (Unlimited)
390 | ; Development Value: 60 (60 seconds)
391 | ; Production Value: 60 (60 seconds)
392 | ; http://php.net/max-input-time
393 | max_input_time = 60
394 |
395 | ; Maximum input variable nesting level
396 | ; http://php.net/max-input-nesting-level
397 | ;max_input_nesting_level = 64
398 |
399 | ; How many GET/POST/COOKIE input variables may be accepted
400 | ; max_input_vars = 1000
401 |
402 | ; Maximum amount of memory a script may consume (128MB)
403 | ; http://php.net/memory-limit
404 | memory_limit = 128M
405 |
406 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
407 | ; Error handling and logging ;
408 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
409 |
410 | ; This directive informs PHP of which errors, warnings and notices you would like
411 | ; it to take action for. The recommended way of setting values for this
412 | ; directive is through the use of the error level constants and bitwise
413 | ; operators. The error level constants are below here for convenience as well as
414 | ; some common settings and their meanings.
415 | ; By default, PHP is set to take action on all errors, notices and warnings EXCEPT
416 | ; those related to E_NOTICE and E_STRICT, which together cover best practices and
417 | ; recommended coding standards in PHP. For performance reasons, this is the
418 | ; recommend error reporting setting. Your production server shouldn't be wasting
419 | ; resources complaining about best practices and coding standards. That's what
420 | ; development servers and development settings are for.
421 | ; Note: The php.ini-development file has this setting as E_ALL. This
422 | ; means it pretty much reports everything which is exactly what you want during
423 | ; development and early testing.
424 | ;
425 | ; Error Level Constants:
426 | ; E_ALL - All errors and warnings (includes E_STRICT as of PHP 5.4.0)
427 | ; E_ERROR - fatal run-time errors
428 | ; E_RECOVERABLE_ERROR - almost fatal run-time errors
429 | ; E_WARNING - run-time warnings (non-fatal errors)
430 | ; E_PARSE - compile-time parse errors
431 | ; E_NOTICE - run-time notices (these are warnings which often result
432 | ; from a bug in your code, but it's possible that it was
433 | ; intentional (e.g., using an uninitialized variable and
434 | ; relying on the fact it is automatically initialized to an
435 | ; empty string)
436 | ; E_STRICT - run-time notices, enable to have PHP suggest changes
437 | ; to your code which will ensure the best interoperability
438 | ; and forward compatibility of your code
439 | ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
440 | ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
441 | ; initial startup
442 | ; E_COMPILE_ERROR - fatal compile-time errors
443 | ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
444 | ; E_USER_ERROR - user-generated error message
445 | ; E_USER_WARNING - user-generated warning message
446 | ; E_USER_NOTICE - user-generated notice message
447 | ; E_DEPRECATED - warn about code that will not work in future versions
448 | ; of PHP
449 | ; E_USER_DEPRECATED - user-generated deprecation warnings
450 | ;
451 | ; Common Values:
452 | ; E_ALL (Show all errors, warnings and notices including coding standards.)
453 | ; E_ALL & ~E_NOTICE (Show all errors, except for notices)
454 | ; E_ALL & ~E_NOTICE & ~E_STRICT (Show all errors, except for notices and coding standards warnings.)
455 | ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors)
456 | ; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
457 | ; Development Value: E_ALL
458 | ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
459 | ; http://php.net/error-reporting
460 | error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
461 |
462 | ; This directive controls whether or not and where PHP will output errors,
463 | ; notices and warnings too. Error output is very useful during development, but
464 | ; it could be very dangerous in production environments. Depending on the code
465 | ; which is triggering the error, sensitive information could potentially leak
466 | ; out of your application such as database usernames and passwords or worse.
467 | ; For production environments, we recommend logging errors rather than
468 | ; sending them to STDOUT.
469 | ; Possible Values:
470 | ; Off = Do not display any errors
471 | ; stderr = Display errors to STDERR (affects only CGI/CLI binaries!)
472 | ; On or stdout = Display errors to STDOUT
473 | ; Default Value: On
474 | ; Development Value: On
475 | ; Production Value: Off
476 | ; http://php.net/display-errors
477 | display_errors = Off
478 |
479 | ; The display of errors which occur during PHP's startup sequence are handled
480 | ; separately from display_errors. PHP's default behavior is to suppress those
481 | ; errors from clients. Turning the display of startup errors on can be useful in
482 | ; debugging configuration problems. We strongly recommend you
483 | ; set this to 'off' for production servers.
484 | ; Default Value: Off
485 | ; Development Value: On
486 | ; Production Value: Off
487 | ; http://php.net/display-startup-errors
488 | display_startup_errors = Off
489 |
490 | ; Besides displaying errors, PHP can also log errors to locations such as a
491 | ; server-specific log, STDERR, or a location specified by the error_log
492 | ; directive found below. While errors should not be displayed on productions
493 | ; servers they should still be monitored and logging is a great way to do that.
494 | ; Default Value: Off
495 | ; Development Value: On
496 | ; Production Value: On
497 | ; http://php.net/log-errors
498 | log_errors = On
499 |
500 | ; Set maximum length of log_errors. In error_log information about the source is
501 | ; added. The default is 1024 and 0 allows to not apply any maximum length at all.
502 | ; http://php.net/log-errors-max-len
503 | log_errors_max_len = 1024
504 |
505 | ; Do not log repeated messages. Repeated errors must occur in same file on same
506 | ; line unless ignore_repeated_source is set true.
507 | ; http://php.net/ignore-repeated-errors
508 | ignore_repeated_errors = Off
509 |
510 | ; Ignore source of message when ignoring repeated messages. When this setting
511 | ; is On you will not log errors with repeated messages from different files or
512 | ; source lines.
513 | ; http://php.net/ignore-repeated-source
514 | ignore_repeated_source = Off
515 |
516 | ; If this parameter is set to Off, then memory leaks will not be shown (on
517 | ; stdout or in the log). This has only effect in a debug compile, and if
518 | ; error reporting includes E_WARNING in the allowed list
519 | ; http://php.net/report-memleaks
520 | report_memleaks = On
521 |
522 | ; This setting is on by default.
523 | ;report_zend_debug = 0
524 |
525 | ; Store the last error/warning message in $php_errormsg (boolean). Setting this value
526 | ; to On can assist in debugging and is appropriate for development servers. It should
527 | ; however be disabled on production servers.
528 | ; This directive is DEPRECATED.
529 | ; Default Value: Off
530 | ; Development Value: Off
531 | ; Production Value: Off
532 | ; http://php.net/track-errors
533 | ;track_errors = Off
534 |
535 | ; Turn off normal error reporting and emit XML-RPC error XML
536 | ; http://php.net/xmlrpc-errors
537 | ;xmlrpc_errors = 0
538 |
539 | ; An XML-RPC faultCode
540 | ;xmlrpc_error_number = 0
541 |
542 | ; When PHP displays or logs an error, it has the capability of formatting the
543 | ; error message as HTML for easier reading. This directive controls whether
544 | ; the error message is formatted as HTML or not.
545 | ; Note: This directive is hardcoded to Off for the CLI SAPI
546 | ; Default Value: On
547 | ; Development Value: On
548 | ; Production value: On
549 | ; http://php.net/html-errors
550 | html_errors = On
551 |
552 | ; If html_errors is set to On *and* docref_root is not empty, then PHP
553 | ; produces clickable error messages that direct to a page describing the error
554 | ; or function causing the error in detail.
555 | ; You can download a copy of the PHP manual from http://php.net/docs
556 | ; and change docref_root to the base URL of your local copy including the
557 | ; leading '/'. You must also specify the file extension being used including
558 | ; the dot. PHP's default behavior is to leave these settings empty, in which
559 | ; case no links to documentation are generated.
560 | ; Note: Never use this feature for production boxes.
561 | ; http://php.net/docref-root
562 | ; Examples
563 | ;docref_root = "/phpmanual/"
564 |
565 | ; http://php.net/docref-ext
566 | ;docref_ext = .html
567 |
568 | ; String to output before an error message. PHP's default behavior is to leave
569 | ; this setting blank.
570 | ; http://php.net/error-prepend-string
571 | ; Example:
572 | ;error_prepend_string = ""
573 |
574 | ; String to output after an error message. PHP's default behavior is to leave
575 | ; this setting blank.
576 | ; http://php.net/error-append-string
577 | ; Example:
578 | ;error_append_string = ""
579 |
580 | ; Log errors to specified file. PHP's default behavior is to leave this value
581 | ; empty.
582 | ; http://php.net/error-log
583 | ; Example:
584 | ;error_log = php_errors.log
585 | ; Log errors to syslog (Event Log on Windows).
586 | ;error_log = syslog
587 |
588 | ;windows.show_crt_warning
589 | ; Default value: 0
590 | ; Development value: 0
591 | ; Production value: 0
592 |
593 | ;;;;;;;;;;;;;;;;;
594 | ; Data Handling ;
595 | ;;;;;;;;;;;;;;;;;
596 |
597 | ; The separator used in PHP generated URLs to separate arguments.
598 | ; PHP's default setting is "&".
599 | ; http://php.net/arg-separator.output
600 | ; Example:
601 | ;arg_separator.output = "&"
602 |
603 | ; List of separator(s) used by PHP to parse input URLs into variables.
604 | ; PHP's default setting is "&".
605 | ; NOTE: Every character in this directive is considered as separator!
606 | ; http://php.net/arg-separator.input
607 | ; Example:
608 | ;arg_separator.input = ";&"
609 |
610 | ; This directive determines which super global arrays are registered when PHP
611 | ; starts up. G,P,C,E & S are abbreviations for the following respective super
612 | ; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty
613 | ; paid for the registration of these arrays and because ENV is not as commonly
614 | ; used as the others, ENV is not recommended on productions servers. You
615 | ; can still get access to the environment variables through getenv() should you
616 | ; need to.
617 | ; Default Value: "EGPCS"
618 | ; Development Value: "GPCS"
619 | ; Production Value: "GPCS";
620 | ; http://php.net/variables-order
621 | variables_order = "GPCS"
622 |
623 | ; This directive determines which super global data (G,P & C) should be
624 | ; registered into the super global array REQUEST. If so, it also determines
625 | ; the order in which that data is registered. The values for this directive
626 | ; are specified in the same manner as the variables_order directive,
627 | ; EXCEPT one. Leaving this value empty will cause PHP to use the value set
628 | ; in the variables_order directive. It does not mean it will leave the super
629 | ; globals array REQUEST empty.
630 | ; Default Value: None
631 | ; Development Value: "GP"
632 | ; Production Value: "GP"
633 | ; http://php.net/request-order
634 | request_order = "GP"
635 |
636 | ; This directive determines whether PHP registers $argv & $argc each time it
637 | ; runs. $argv contains an array of all the arguments passed to PHP when a script
638 | ; is invoked. $argc contains an integer representing the number of arguments
639 | ; that were passed when the script was invoked. These arrays are extremely
640 | ; useful when running scripts from the command line. When this directive is
641 | ; enabled, registering these variables consumes CPU cycles and memory each time
642 | ; a script is executed. For performance reasons, this feature should be disabled
643 | ; on production servers.
644 | ; Note: This directive is hardcoded to On for the CLI SAPI
645 | ; Default Value: On
646 | ; Development Value: Off
647 | ; Production Value: Off
648 | ; http://php.net/register-argc-argv
649 | register_argc_argv = Off
650 |
651 | ; When enabled, the ENV, REQUEST and SERVER variables are created when they're
652 | ; first used (Just In Time) instead of when the script starts. If these
653 | ; variables are not used within a script, having this directive on will result
654 | ; in a performance gain. The PHP directive register_argc_argv must be disabled
655 | ; for this directive to have any affect.
656 | ; http://php.net/auto-globals-jit
657 | auto_globals_jit = On
658 |
659 | ; Whether PHP will read the POST data.
660 | ; This option is enabled by default.
661 | ; Most likely, you won't want to disable this option globally. It causes $_POST
662 | ; and $_FILES to always be empty; the only way you will be able to read the
663 | ; POST data will be through the php://input stream wrapper. This can be useful
664 | ; to proxy requests or to process the POST data in a memory efficient fashion.
665 | ; http://php.net/enable-post-data-reading
666 | ;enable_post_data_reading = Off
667 |
668 | ; Maximum size of POST data that PHP will accept.
669 | ; Its value may be 0 to disable the limit. It is ignored if POST data reading
670 | ; is disabled through enable_post_data_reading.
671 | ; http://php.net/post-max-size
672 | post_max_size = 8M
673 |
674 | ; Automatically add files before PHP document.
675 | ; http://php.net/auto-prepend-file
676 | auto_prepend_file =
677 |
678 | ; Automatically add files after PHP document.
679 | ; http://php.net/auto-append-file
680 | auto_append_file =
681 |
682 | ; By default, PHP will output a media type using the Content-Type header. To
683 | ; disable this, simply set it to be empty.
684 | ;
685 | ; PHP's built-in default media type is set to text/html.
686 | ; http://php.net/default-mimetype
687 | default_mimetype = "text/html"
688 |
689 | ; PHP's default character set is set to UTF-8.
690 | ; http://php.net/default-charset
691 | default_charset = "UTF-8"
692 |
693 | ; PHP internal character encoding is set to empty.
694 | ; If empty, default_charset is used.
695 | ; http://php.net/internal-encoding
696 | ;internal_encoding =
697 |
698 | ; PHP input character encoding is set to empty.
699 | ; If empty, default_charset is used.
700 | ; http://php.net/input-encoding
701 | ;input_encoding =
702 |
703 | ; PHP output character encoding is set to empty.
704 | ; If empty, default_charset is used.
705 | ; See also output_buffer.
706 | ; http://php.net/output-encoding
707 | ;output_encoding =
708 |
709 | ;;;;;;;;;;;;;;;;;;;;;;;;;
710 | ; Paths and Directories ;
711 | ;;;;;;;;;;;;;;;;;;;;;;;;;
712 |
713 | ; UNIX: "/path1:/path2"
714 | ;include_path = ".:/php/includes"
715 | ;
716 | ; Windows: "\path1;\path2"
717 | ;include_path = ".;c:\php\includes"
718 | ;
719 | ; PHP's default setting for include_path is ".;/path/to/php/pear"
720 | ; http://php.net/include-path
721 |
722 | ; The root of the PHP pages, used only if nonempty.
723 | ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
724 | ; if you are running php as a CGI under any web server (other than IIS)
725 | ; see documentation for security issues. The alternate is to use the
726 | ; cgi.force_redirect configuration below
727 | ; http://php.net/doc-root
728 | doc_root =
729 |
730 | ; The directory under which PHP opens the script using /~username used only
731 | ; if nonempty.
732 | ; http://php.net/user-dir
733 | user_dir =
734 |
735 | ; Directory in which the loadable extensions (modules) reside.
736 | ; http://php.net/extension-dir
737 | ; extension_dir = "./"
738 | ; On windows:
739 | ; extension_dir = "ext"
740 |
741 | ; Directory where the temporary files should be placed.
742 | ; Defaults to the system default (see sys_get_temp_dir)
743 | ; sys_temp_dir = "/tmp"
744 |
745 | ; Whether or not to enable the dl() function. The dl() function does NOT work
746 | ; properly in multithreaded servers, such as IIS or Zeus, and is automatically
747 | ; disabled on them.
748 | ; http://php.net/enable-dl
749 | enable_dl = Off
750 |
751 | ; cgi.force_redirect is necessary to provide security running PHP as a CGI under
752 | ; most web servers. Left undefined, PHP turns this on by default. You can
753 | ; turn it off here AT YOUR OWN RISK
754 | ; **You CAN safely turn this off for IIS, in fact, you MUST.**
755 | ; http://php.net/cgi.force-redirect
756 | ;cgi.force_redirect = 1
757 |
758 | ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
759 | ; every request. PHP's default behavior is to disable this feature.
760 | ;cgi.nph = 1
761 |
762 | ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
763 | ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
764 | ; will look for to know it is OK to continue execution. Setting this variable MAY
765 | ; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
766 | ; http://php.net/cgi.redirect-status-env
767 | ;cgi.redirect_status_env =
768 |
769 | ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
770 | ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
771 | ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
772 | ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
773 | ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
774 | ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
775 | ; http://php.net/cgi.fix-pathinfo
776 | ;cgi.fix_pathinfo=1
777 |
778 | ; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside
779 | ; of the web tree and people will not be able to circumvent .htaccess security.
780 | ; http://php.net/cgi.dicard-path
781 | ;cgi.discard_path=1
782 |
783 | ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
784 | ; security tokens of the calling client. This allows IIS to define the
785 | ; security context that the request runs under. mod_fastcgi under Apache
786 | ; does not currently support this feature (03/17/2002)
787 | ; Set to 1 if running under IIS. Default is zero.
788 | ; http://php.net/fastcgi.impersonate
789 | ;fastcgi.impersonate = 1
790 |
791 | ; Disable logging through FastCGI connection. PHP's default behavior is to enable
792 | ; this feature.
793 | ;fastcgi.logging = 0
794 |
795 | ; cgi.rfc2616_headers configuration option tells PHP what type of headers to
796 | ; use when sending HTTP response code. If set to 0, PHP sends Status: header that
797 | ; is supported by Apache. When this option is set to 1, PHP will send
798 | ; RFC2616 compliant header.
799 | ; Default is zero.
800 | ; http://php.net/cgi.rfc2616-headers
801 | ;cgi.rfc2616_headers = 0
802 |
803 | ; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #!
804 | ; (shebang) at the top of the running script. This line might be needed if the
805 | ; script support running both as stand-alone script and via PHP CGI<. PHP in CGI
806 | ; mode skips this line and ignores its content if this directive is turned on.
807 | ; http://php.net/cgi.check-shebang-line
808 | ;cgi.check_shebang_line=1
809 |
810 | ;;;;;;;;;;;;;;;;
811 | ; File Uploads ;
812 | ;;;;;;;;;;;;;;;;
813 |
814 | ; Whether to allow HTTP file uploads.
815 | ; http://php.net/file-uploads
816 | file_uploads = On
817 |
818 | ; Temporary directory for HTTP uploaded files (will use system default if not
819 | ; specified).
820 | ; http://php.net/upload-tmp-dir
821 | ;upload_tmp_dir =
822 |
823 | ; Maximum allowed size for uploaded files.
824 | ; http://php.net/upload-max-filesize
825 | upload_max_filesize = 2M
826 |
827 | ; Maximum number of files that can be uploaded via a single request
828 | max_file_uploads = 20
829 |
830 | ;;;;;;;;;;;;;;;;;;
831 | ; Fopen wrappers ;
832 | ;;;;;;;;;;;;;;;;;;
833 |
834 | ; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
835 | ; http://php.net/allow-url-fopen
836 | allow_url_fopen = On
837 |
838 | ; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
839 | ; http://php.net/allow-url-include
840 | allow_url_include = Off
841 |
842 | ; Define the anonymous ftp password (your email address). PHP's default setting
843 | ; for this is empty.
844 | ; http://php.net/from
845 | ;from="john@doe.com"
846 |
847 | ; Define the User-Agent string. PHP's default setting for this is empty.
848 | ; http://php.net/user-agent
849 | ;user_agent="PHP"
850 |
851 | ; Default timeout for socket based streams (seconds)
852 | ; http://php.net/default-socket-timeout
853 | default_socket_timeout = 60
854 |
855 | ; If your scripts have to deal with files from Macintosh systems,
856 | ; or you are running on a Mac and need to deal with files from
857 | ; unix or win32 systems, setting this flag will cause PHP to
858 | ; automatically detect the EOL character in those files so that
859 | ; fgets() and file() will work regardless of the source of the file.
860 | ; http://php.net/auto-detect-line-endings
861 | ;auto_detect_line_endings = Off
862 |
863 | ;;;;;;;;;;;;;;;;;;;;;;
864 | ; Dynamic Extensions ;
865 | ;;;;;;;;;;;;;;;;;;;;;;
866 |
867 | ; If you wish to have an extension loaded automatically, use the following
868 | ; syntax:
869 | ;
870 | ; extension=modulename
871 | ;
872 | ; For example:
873 | ;
874 | ; extension=mysqli
875 | ;
876 | ; When the extension library to load is not located in the default extension
877 | ; directory, You may specify an absolute path to the library file:
878 | ;
879 | ; extension=/path/to/extension/mysqli.so
880 | ;
881 | ; Note : The syntax used in previous PHP versions ('extension=.so' and
882 | ; 'extension='php_.dll') is supported for legacy reasons and may be
883 | ; deprecated in a future PHP major version. So, when it is possible, please
884 | ; move to the new ('extension=) syntax.
885 | ;
886 | ; Notes for Windows environments :
887 | ;
888 | ; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+)
889 | ; extension folders as well as the separate PECL DLL download (PHP 5+).
890 | ; Be sure to appropriately set the extension_dir directive.
891 | ;
892 | ;extension=bz2
893 | ;extension=curl
894 | ;extension=fileinfo
895 | ;extension=gd2
896 | ;extension=gettext
897 | ;extension=gmp
898 | ;extension=intl
899 | ;extension=imap
900 | ;extension=interbase
901 | ;extension=ldap
902 | ;extension=mbstring
903 | ;extension=exif ; Must be after mbstring as it depends on it
904 | ;extension=mysqli
905 | ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
906 | ;extension=odbc
907 | ;extension=openssl
908 | ;extension=pdo_firebird
909 | ;extension=pdo_mysql
910 | ;extension=pdo_oci
911 | ;extension=pdo_odbc
912 | ;extension=pdo_pgsql
913 | ;extension=pdo_sqlite
914 | ;extension=pgsql
915 | ;extension=shmop
916 |
917 | ; The MIBS data available in the PHP distribution must be installed.
918 | ; See http://www.php.net/manual/en/snmp.installation.php
919 | ;extension=snmp
920 |
921 | ;extension=soap
922 | ;extension=sockets
923 | ;extension=sqlite3
924 | ;extension=tidy
925 | ;extension=xmlrpc
926 | ;extension=xsl
927 |
928 | ;;;;;;;;;;;;;;;;;;;
929 | ; Module Settings ;
930 | ;;;;;;;;;;;;;;;;;;;
931 |
932 | [CLI Server]
933 | ; Whether the CLI web server uses ANSI color coding in its terminal output.
934 | cli_server.color = On
935 |
936 | [Date]
937 | ; Defines the default timezone used by the date functions
938 | ; http://php.net/date.timezone
939 | ;date.timezone =
940 |
941 | ; http://php.net/date.default-latitude
942 | ;date.default_latitude = 31.7667
943 |
944 | ; http://php.net/date.default-longitude
945 | ;date.default_longitude = 35.2333
946 |
947 | ; http://php.net/date.sunrise-zenith
948 | ;date.sunrise_zenith = 90.583333
949 |
950 | ; http://php.net/date.sunset-zenith
951 | ;date.sunset_zenith = 90.583333
952 |
953 | [filter]
954 | ; http://php.net/filter.default
955 | ;filter.default = unsafe_raw
956 |
957 | ; http://php.net/filter.default-flags
958 | ;filter.default_flags =
959 |
960 | [iconv]
961 | ; Use of this INI entry is deprecated, use global input_encoding instead.
962 | ; If empty, default_charset or input_encoding or iconv.input_encoding is used.
963 | ; The precedence is: default_charset < intput_encoding < iconv.input_encoding
964 | ;iconv.input_encoding =
965 |
966 | ; Use of this INI entry is deprecated, use global internal_encoding instead.
967 | ; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
968 | ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
969 | ;iconv.internal_encoding =
970 |
971 | ; Use of this INI entry is deprecated, use global output_encoding instead.
972 | ; If empty, default_charset or output_encoding or iconv.output_encoding is used.
973 | ; The precedence is: default_charset < output_encoding < iconv.output_encoding
974 | ; To use an output encoding conversion, iconv's output handler must be set
975 | ; otherwise output encoding conversion cannot be performed.
976 | ;iconv.output_encoding =
977 |
978 | [intl]
979 | ;intl.default_locale =
980 | ; This directive allows you to produce PHP errors when some error
981 | ; happens within intl functions. The value is the level of the error produced.
982 | ; Default is 0, which does not produce any errors.
983 | ;intl.error_level = E_WARNING
984 | ;intl.use_exceptions = 0
985 |
986 | [sqlite3]
987 | ;sqlite3.extension_dir =
988 |
989 | [Pcre]
990 | ;PCRE library backtracking limit.
991 | ; http://php.net/pcre.backtrack-limit
992 | ;pcre.backtrack_limit=100000
993 |
994 | ;PCRE library recursion limit.
995 | ;Please note that if you set this value to a high number you may consume all
996 | ;the available process stack and eventually crash PHP (due to reaching the
997 | ;stack size limit imposed by the Operating System).
998 | ; http://php.net/pcre.recursion-limit
999 | ;pcre.recursion_limit=100000
1000 |
1001 | ;Enables or disables JIT compilation of patterns. This requires the PCRE
1002 | ;library to be compiled with JIT support.
1003 | ;pcre.jit=1
1004 |
1005 | [Pdo]
1006 | ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
1007 | ; http://php.net/pdo-odbc.connection-pooling
1008 | ;pdo_odbc.connection_pooling=strict
1009 |
1010 | ;pdo_odbc.db2_instance_name
1011 |
1012 | [Pdo_mysql]
1013 | ; If mysqlnd is used: Number of cache slots for the internal result set cache
1014 | ; http://php.net/pdo_mysql.cache_size
1015 | pdo_mysql.cache_size = 2000
1016 |
1017 | ; Default socket name for local MySQL connects. If empty, uses the built-in
1018 | ; MySQL defaults.
1019 | ; http://php.net/pdo_mysql.default-socket
1020 | pdo_mysql.default_socket=
1021 |
1022 | [Phar]
1023 | ; http://php.net/phar.readonly
1024 | ;phar.readonly = On
1025 |
1026 | ; http://php.net/phar.require-hash
1027 | ;phar.require_hash = On
1028 |
1029 | ;phar.cache_list =
1030 |
1031 | [mail function]
1032 | ; For Win32 only.
1033 | ; http://php.net/smtp
1034 | SMTP = localhost
1035 | ; http://php.net/smtp-port
1036 | smtp_port = 25
1037 |
1038 | ; For Win32 only.
1039 | ; http://php.net/sendmail-from
1040 | ;sendmail_from = me@example.com
1041 |
1042 | ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
1043 | ; http://php.net/sendmail-path
1044 | ;sendmail_path =
1045 |
1046 | ; Force the addition of the specified parameters to be passed as extra parameters
1047 | ; to the sendmail binary. These parameters will always replace the value of
1048 | ; the 5th parameter to mail().
1049 | ;mail.force_extra_parameters =
1050 |
1051 | ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
1052 | mail.add_x_header = Off
1053 |
1054 | ; The path to a log file that will log all mail() calls. Log entries include
1055 | ; the full path of the script, line number, To address and headers.
1056 | ;mail.log =
1057 | ; Log mail to syslog (Event Log on Windows).
1058 | ;mail.log = syslog
1059 |
1060 | [ODBC]
1061 | ; http://php.net/odbc.default-db
1062 | ;odbc.default_db = Not yet implemented
1063 |
1064 | ; http://php.net/odbc.default-user
1065 | ;odbc.default_user = Not yet implemented
1066 |
1067 | ; http://php.net/odbc.default-pw
1068 | ;odbc.default_pw = Not yet implemented
1069 |
1070 | ; Controls the ODBC cursor model.
1071 | ; Default: SQL_CURSOR_STATIC (default).
1072 | ;odbc.default_cursortype
1073 |
1074 | ; Allow or prevent persistent links.
1075 | ; http://php.net/odbc.allow-persistent
1076 | odbc.allow_persistent = On
1077 |
1078 | ; Check that a connection is still valid before reuse.
1079 | ; http://php.net/odbc.check-persistent
1080 | odbc.check_persistent = On
1081 |
1082 | ; Maximum number of persistent links. -1 means no limit.
1083 | ; http://php.net/odbc.max-persistent
1084 | odbc.max_persistent = -1
1085 |
1086 | ; Maximum number of links (persistent + non-persistent). -1 means no limit.
1087 | ; http://php.net/odbc.max-links
1088 | odbc.max_links = -1
1089 |
1090 | ; Handling of LONG fields. Returns number of bytes to variables. 0 means
1091 | ; passthru.
1092 | ; http://php.net/odbc.defaultlrl
1093 | odbc.defaultlrl = 4096
1094 |
1095 | ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
1096 | ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
1097 | ; of odbc.defaultlrl and odbc.defaultbinmode
1098 | ; http://php.net/odbc.defaultbinmode
1099 | odbc.defaultbinmode = 1
1100 |
1101 | ;birdstep.max_links = -1
1102 |
1103 | [Interbase]
1104 | ; Allow or prevent persistent links.
1105 | ibase.allow_persistent = 1
1106 |
1107 | ; Maximum number of persistent links. -1 means no limit.
1108 | ibase.max_persistent = -1
1109 |
1110 | ; Maximum number of links (persistent + non-persistent). -1 means no limit.
1111 | ibase.max_links = -1
1112 |
1113 | ; Default database name for ibase_connect().
1114 | ;ibase.default_db =
1115 |
1116 | ; Default username for ibase_connect().
1117 | ;ibase.default_user =
1118 |
1119 | ; Default password for ibase_connect().
1120 | ;ibase.default_password =
1121 |
1122 | ; Default charset for ibase_connect().
1123 | ;ibase.default_charset =
1124 |
1125 | ; Default timestamp format.
1126 | ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
1127 |
1128 | ; Default date format.
1129 | ibase.dateformat = "%Y-%m-%d"
1130 |
1131 | ; Default time format.
1132 | ibase.timeformat = "%H:%M:%S"
1133 |
1134 | [MySQLi]
1135 |
1136 | ; Maximum number of persistent links. -1 means no limit.
1137 | ; http://php.net/mysqli.max-persistent
1138 | mysqli.max_persistent = -1
1139 |
1140 | ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
1141 | ; http://php.net/mysqli.allow_local_infile
1142 | ;mysqli.allow_local_infile = On
1143 |
1144 | ; Allow or prevent persistent links.
1145 | ; http://php.net/mysqli.allow-persistent
1146 | mysqli.allow_persistent = On
1147 |
1148 | ; Maximum number of links. -1 means no limit.
1149 | ; http://php.net/mysqli.max-links
1150 | mysqli.max_links = -1
1151 |
1152 | ; If mysqlnd is used: Number of cache slots for the internal result set cache
1153 | ; http://php.net/mysqli.cache_size
1154 | mysqli.cache_size = 2000
1155 |
1156 | ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use
1157 | ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
1158 | ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
1159 | ; at MYSQL_PORT.
1160 | ; http://php.net/mysqli.default-port
1161 | mysqli.default_port = 3306
1162 |
1163 | ; Default socket name for local MySQL connects. If empty, uses the built-in
1164 | ; MySQL defaults.
1165 | ; http://php.net/mysqli.default-socket
1166 | mysqli.default_socket =
1167 |
1168 | ; Default host for mysql_connect() (doesn't apply in safe mode).
1169 | ; http://php.net/mysqli.default-host
1170 | mysqli.default_host =
1171 |
1172 | ; Default user for mysql_connect() (doesn't apply in safe mode).
1173 | ; http://php.net/mysqli.default-user
1174 | mysqli.default_user =
1175 |
1176 | ; Default password for mysqli_connect() (doesn't apply in safe mode).
1177 | ; Note that this is generally a *bad* idea to store passwords in this file.
1178 | ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
1179 | ; and reveal this password! And of course, any users with read access to this
1180 | ; file will be able to reveal the password as well.
1181 | ; http://php.net/mysqli.default-pw
1182 | mysqli.default_pw =
1183 |
1184 | ; Allow or prevent reconnect
1185 | mysqli.reconnect = Off
1186 |
1187 | [mysqlnd]
1188 | ; Enable / Disable collection of general statistics by mysqlnd which can be
1189 | ; used to tune and monitor MySQL operations.
1190 | ; http://php.net/mysqlnd.collect_statistics
1191 | mysqlnd.collect_statistics = On
1192 |
1193 | ; Enable / Disable collection of memory usage statistics by mysqlnd which can be
1194 | ; used to tune and monitor MySQL operations.
1195 | ; http://php.net/mysqlnd.collect_memory_statistics
1196 | mysqlnd.collect_memory_statistics = Off
1197 |
1198 | ; Records communication from all extensions using mysqlnd to the specified log
1199 | ; file.
1200 | ; http://php.net/mysqlnd.debug
1201 | ;mysqlnd.debug =
1202 |
1203 | ; Defines which queries will be logged.
1204 | ; http://php.net/mysqlnd.log_mask
1205 | ;mysqlnd.log_mask = 0
1206 |
1207 | ; Default size of the mysqlnd memory pool, which is used by result sets.
1208 | ; http://php.net/mysqlnd.mempool_default_size
1209 | ;mysqlnd.mempool_default_size = 16000
1210 |
1211 | ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.
1212 | ; http://php.net/mysqlnd.net_cmd_buffer_size
1213 | ;mysqlnd.net_cmd_buffer_size = 2048
1214 |
1215 | ; Size of a pre-allocated buffer used for reading data sent by the server in
1216 | ; bytes.
1217 | ; http://php.net/mysqlnd.net_read_buffer_size
1218 | ;mysqlnd.net_read_buffer_size = 32768
1219 |
1220 | ; Timeout for network requests in seconds.
1221 | ; http://php.net/mysqlnd.net_read_timeout
1222 | ;mysqlnd.net_read_timeout = 31536000
1223 |
1224 | ; SHA-256 Authentication Plugin related. File with the MySQL server public RSA
1225 | ; key.
1226 | ; http://php.net/mysqlnd.sha256_server_public_key
1227 | ;mysqlnd.sha256_server_public_key =
1228 |
1229 | [OCI8]
1230 |
1231 | ; Connection: Enables privileged connections using external
1232 | ; credentials (OCI_SYSOPER, OCI_SYSDBA)
1233 | ; http://php.net/oci8.privileged-connect
1234 | ;oci8.privileged_connect = Off
1235 |
1236 | ; Connection: The maximum number of persistent OCI8 connections per
1237 | ; process. Using -1 means no limit.
1238 | ; http://php.net/oci8.max-persistent
1239 | ;oci8.max_persistent = -1
1240 |
1241 | ; Connection: The maximum number of seconds a process is allowed to
1242 | ; maintain an idle persistent connection. Using -1 means idle
1243 | ; persistent connections will be maintained forever.
1244 | ; http://php.net/oci8.persistent-timeout
1245 | ;oci8.persistent_timeout = -1
1246 |
1247 | ; Connection: The number of seconds that must pass before issuing a
1248 | ; ping during oci_pconnect() to check the connection validity. When
1249 | ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
1250 | ; pings completely.
1251 | ; http://php.net/oci8.ping-interval
1252 | ;oci8.ping_interval = 60
1253 |
1254 | ; Connection: Set this to a user chosen connection class to be used
1255 | ; for all pooled server requests with Oracle 11g Database Resident
1256 | ; Connection Pooling (DRCP). To use DRCP, this value should be set to
1257 | ; the same string for all web servers running the same application,
1258 | ; the database pool must be configured, and the connection string must
1259 | ; specify to use a pooled server.
1260 | ;oci8.connection_class =
1261 |
1262 | ; High Availability: Using On lets PHP receive Fast Application
1263 | ; Notification (FAN) events generated when a database node fails. The
1264 | ; database must also be configured to post FAN events.
1265 | ;oci8.events = Off
1266 |
1267 | ; Tuning: This option enables statement caching, and specifies how
1268 | ; many statements to cache. Using 0 disables statement caching.
1269 | ; http://php.net/oci8.statement-cache-size
1270 | ;oci8.statement_cache_size = 20
1271 |
1272 | ; Tuning: Enables statement prefetching and sets the default number of
1273 | ; rows that will be fetched automatically after statement execution.
1274 | ; http://php.net/oci8.default-prefetch
1275 | ;oci8.default_prefetch = 100
1276 |
1277 | ; Compatibility. Using On means oci_close() will not close
1278 | ; oci_connect() and oci_new_connect() connections.
1279 | ; http://php.net/oci8.old-oci-close-semantics
1280 | ;oci8.old_oci_close_semantics = Off
1281 |
1282 | [PostgreSQL]
1283 | ; Allow or prevent persistent links.
1284 | ; http://php.net/pgsql.allow-persistent
1285 | pgsql.allow_persistent = On
1286 |
1287 | ; Detect broken persistent links always with pg_pconnect().
1288 | ; Auto reset feature requires a little overheads.
1289 | ; http://php.net/pgsql.auto-reset-persistent
1290 | pgsql.auto_reset_persistent = Off
1291 |
1292 | ; Maximum number of persistent links. -1 means no limit.
1293 | ; http://php.net/pgsql.max-persistent
1294 | pgsql.max_persistent = -1
1295 |
1296 | ; Maximum number of links (persistent+non persistent). -1 means no limit.
1297 | ; http://php.net/pgsql.max-links
1298 | pgsql.max_links = -1
1299 |
1300 | ; Ignore PostgreSQL backends Notice message or not.
1301 | ; Notice message logging require a little overheads.
1302 | ; http://php.net/pgsql.ignore-notice
1303 | pgsql.ignore_notice = 0
1304 |
1305 | ; Log PostgreSQL backends Notice message or not.
1306 | ; Unless pgsql.ignore_notice=0, module cannot log notice message.
1307 | ; http://php.net/pgsql.log-notice
1308 | pgsql.log_notice = 0
1309 |
1310 | [bcmath]
1311 | ; Number of decimal digits for all bcmath functions.
1312 | ; http://php.net/bcmath.scale
1313 | bcmath.scale = 0
1314 |
1315 | [browscap]
1316 | ; http://php.net/browscap
1317 | ;browscap = extra/browscap.ini
1318 |
1319 | [Session]
1320 | ; Handler used to store/retrieve data.
1321 | ; http://php.net/session.save-handler
1322 | session.save_handler = files
1323 |
1324 | ; Argument passed to save_handler. In the case of files, this is the path
1325 | ; where data files are stored. Note: Windows users have to change this
1326 | ; variable in order to use PHP's session functions.
1327 | ;
1328 | ; The path can be defined as:
1329 | ;
1330 | ; session.save_path = "N;/path"
1331 | ;
1332 | ; where N is an integer. Instead of storing all the session files in
1333 | ; /path, what this will do is use subdirectories N-levels deep, and
1334 | ; store the session data in those directories. This is useful if
1335 | ; your OS has problems with many files in one directory, and is
1336 | ; a more efficient layout for servers that handle many sessions.
1337 | ;
1338 | ; NOTE 1: PHP will not create this directory structure automatically.
1339 | ; You can use the script in the ext/session dir for that purpose.
1340 | ; NOTE 2: See the section on garbage collection below if you choose to
1341 | ; use subdirectories for session storage
1342 | ;
1343 | ; The file storage module creates files using mode 600 by default.
1344 | ; You can change that by using
1345 | ;
1346 | ; session.save_path = "N;MODE;/path"
1347 | ;
1348 | ; where MODE is the octal representation of the mode. Note that this
1349 | ; does not overwrite the process's umask.
1350 | ; http://php.net/session.save-path
1351 | ;session.save_path = "/tmp"
1352 |
1353 | ; Whether to use strict session mode.
1354 | ; Strict session mode does not accept uninitialized session ID and regenerate
1355 | ; session ID if browser sends uninitialized session ID. Strict mode protects
1356 | ; applications from session fixation via session adoption vulnerability. It is
1357 | ; disabled by default for maximum compatibility, but enabling it is encouraged.
1358 | ; https://wiki.php.net/rfc/strict_sessions
1359 | session.use_strict_mode = 0
1360 |
1361 | ; Whether to use cookies.
1362 | ; http://php.net/session.use-cookies
1363 | session.use_cookies = 1
1364 |
1365 | ; http://php.net/session.cookie-secure
1366 | ;session.cookie_secure =
1367 |
1368 | ; This option forces PHP to fetch and use a cookie for storing and maintaining
1369 | ; the session id. We encourage this operation as it's very helpful in combating
1370 | ; session hijacking when not specifying and managing your own session id. It is
1371 | ; not the be-all and end-all of session hijacking defense, but it's a good start.
1372 | ; http://php.net/session.use-only-cookies
1373 | session.use_only_cookies = 1
1374 |
1375 | ; Name of the session (used as cookie name).
1376 | ; http://php.net/session.name
1377 | session.name = PHPSESSID
1378 |
1379 | ; Initialize session on request startup.
1380 | ; http://php.net/session.auto-start
1381 | session.auto_start = 0
1382 |
1383 | ; Lifetime in seconds of cookie or, if 0, until browser is restarted.
1384 | ; http://php.net/session.cookie-lifetime
1385 | session.cookie_lifetime = 0
1386 |
1387 | ; The path for which the cookie is valid.
1388 | ; http://php.net/session.cookie-path
1389 | session.cookie_path = /
1390 |
1391 | ; The domain for which the cookie is valid.
1392 | ; http://php.net/session.cookie-domain
1393 | session.cookie_domain =
1394 |
1395 | ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
1396 | ; http://php.net/session.cookie-httponly
1397 | session.cookie_httponly =
1398 |
1399 | ; Handler used to serialize data. php is the standard serializer of PHP.
1400 | ; http://php.net/session.serialize-handler
1401 | session.serialize_handler = php
1402 |
1403 | ; Defines the probability that the 'garbage collection' process is started
1404 | ; on every session initialization. The probability is calculated by using
1405 | ; gc_probability/gc_divisor. Where session.gc_probability is the numerator
1406 | ; and gc_divisor is the denominator in the equation. Setting this value to 1
1407 | ; when the session.gc_divisor value is 100 will give you approximately a 1% chance
1408 | ; the gc will run on any give request.
1409 | ; Default Value: 1
1410 | ; Development Value: 1
1411 | ; Production Value: 1
1412 | ; http://php.net/session.gc-probability
1413 | session.gc_probability = 1
1414 |
1415 | ; Defines the probability that the 'garbage collection' process is started on every
1416 | ; session initialization. The probability is calculated by using the following equation:
1417 | ; gc_probability/gc_divisor. Where session.gc_probability is the numerator and
1418 | ; session.gc_divisor is the denominator in the equation. Setting this value to 1
1419 | ; when the session.gc_divisor value is 100 will give you approximately a 1% chance
1420 | ; the gc will run on any give request. Increasing this value to 1000 will give you
1421 | ; a 0.1% chance the gc will run on any give request. For high volume production servers,
1422 | ; this is a more efficient approach.
1423 | ; Default Value: 100
1424 | ; Development Value: 1000
1425 | ; Production Value: 1000
1426 | ; http://php.net/session.gc-divisor
1427 | session.gc_divisor = 1000
1428 |
1429 | ; After this number of seconds, stored data will be seen as 'garbage' and
1430 | ; cleaned up by the garbage collection process.
1431 | ; http://php.net/session.gc-maxlifetime
1432 | session.gc_maxlifetime = 1440
1433 |
1434 | ; NOTE: If you are using the subdirectory option for storing session files
1435 | ; (see session.save_path above), then garbage collection does *not*
1436 | ; happen automatically. You will need to do your own garbage
1437 | ; collection through a shell script, cron entry, or some other method.
1438 | ; For example, the following script would is the equivalent of
1439 | ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
1440 | ; find /path/to/sessions -cmin +24 -type f | xargs rm
1441 |
1442 | ; Check HTTP Referer to invalidate externally stored URLs containing ids.
1443 | ; HTTP_REFERER has to contain this substring for the session to be
1444 | ; considered as valid.
1445 | ; http://php.net/session.referer-check
1446 | session.referer_check =
1447 |
1448 | ; Set to {nocache,private,public,} to determine HTTP caching aspects
1449 | ; or leave this empty to avoid sending anti-caching headers.
1450 | ; http://php.net/session.cache-limiter
1451 | session.cache_limiter = nocache
1452 |
1453 | ; Document expires after n minutes.
1454 | ; http://php.net/session.cache-expire
1455 | session.cache_expire = 180
1456 |
1457 | ; trans sid support is disabled by default.
1458 | ; Use of trans sid may risk your users' security.
1459 | ; Use this option with caution.
1460 | ; - User may send URL contains active session ID
1461 | ; to other person via. email/irc/etc.
1462 | ; - URL that contains active session ID may be stored
1463 | ; in publicly accessible computer.
1464 | ; - User may access your site with the same session ID
1465 | ; always using URL stored in browser's history or bookmarks.
1466 | ; http://php.net/session.use-trans-sid
1467 | session.use_trans_sid = 0
1468 |
1469 | ; Set session ID character length. This value could be between 22 to 256.
1470 | ; Shorter length than default is supported only for compatibility reason.
1471 | ; Users should use 32 or more chars.
1472 | ; http://php.net/session.sid-length
1473 | ; Default Value: 32
1474 | ; Development Value: 26
1475 | ; Production Value: 26
1476 | session.sid_length = 26
1477 |
1478 | ; The URL rewriter will look for URLs in a defined set of HTML tags.
1479 | ;