├── .gitignore
├── .idea
├── docker-osticket.iml
├── encodings.xml
├── modules.xml
├── scopes
│ └── scope_settings.xml
└── vcs.xml
├── Dockerfile
├── LICENSE
├── README.md
└── files
├── data
├── bin
│ ├── install.php
│ └── start.sh
├── msmtp.conf
└── supervisord.conf
├── etc
└── nginx
│ └── nginx.conf
└── usr
└── local
└── etc
└── php
├── conf.d
└── php-osticket.ini
└── php.ini
/.gitignore:
--------------------------------------------------------------------------------
1 | # Ignore user specific IDEA settings
2 | .idea/
3 |
--------------------------------------------------------------------------------
/.idea/docker-osticket.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/scopes/scope_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | # Deployment doesn't work on Alpine
2 | FROM php:7.3-cli AS deployer
3 | ENV OSTICKET_VERSION=1.14.3
4 | RUN set -x \
5 | && apt-get update \
6 | && apt-get install -y git-core \
7 | && git clone -b v${OSTICKET_VERSION} --depth 1 https://github.com/osTicket/osTicket.git \
8 | && cd osTicket \
9 | && php manage.php deploy -sv /data/upload \
10 | # www-data is uid:gid 82:82 in php:7.0-fpm-alpine
11 | && chown -R 82:82 /data/upload \
12 | # Hide setup
13 | && mv /data/upload/setup /data/upload/setup_hidden \
14 | && chown -R root:root /data/upload/setup_hidden \
15 | && chmod -R go= /data/upload/setup_hidden
16 |
17 | FROM php:7.3-fpm-alpine
18 | MAINTAINER Martin Campbell
19 | # environment for osticket
20 | ENV HOME=/data
21 | # setup workdir
22 | WORKDIR /data
23 | COPY --from=deployer /data/upload upload
24 | RUN set -x && \
25 | # requirements and PHP extensions
26 | apk add --no-cache --update \
27 | wget \
28 | msmtp \
29 | ca-certificates \
30 | supervisor \
31 | nginx \
32 | libpng \
33 | c-client \
34 | openldap \
35 | libintl \
36 | libxml2 \
37 | icu \
38 | openssl && \
39 | apk add --no-cache --virtual .build-deps \
40 | imap-dev \
41 | libpng-dev \
42 | curl-dev \
43 | openldap-dev \
44 | gettext-dev \
45 | libxml2-dev \
46 | icu-dev \
47 | autoconf \
48 | g++ \
49 | make \
50 | pcre-dev && \
51 | docker-php-ext-install gd curl ldap mysqli sockets gettext mbstring xml intl opcache && \
52 | docker-php-ext-configure imap --with-imap-ssl && \
53 | docker-php-ext-install imap && \
54 | pecl install apcu && docker-php-ext-enable apcu && \
55 | apk del .build-deps && \
56 | rm -rf /var/cache/apk/* && \
57 | # Download languages packs
58 | wget -nv -O upload/include/i18n/fr.phar https://s3.amazonaws.com/downloads.osticket.com/lang/fr.phar && \
59 | wget -nv -O upload/include/i18n/ar.phar https://s3.amazonaws.com/downloads.osticket.com/lang/ar.phar && \
60 | wget -nv -O upload/include/i18n/pt_BR.phar https://s3.amazonaws.com/downloads.osticket.com/lang/pt_BR.phar && \
61 | wget -nv -O upload/include/i18n/it.phar https://s3.amazonaws.com/downloads.osticket.com/lang/it.phar && \
62 | wget -nv -O upload/include/i18n/es_ES.phar https://s3.amazonaws.com/downloads.osticket.com/lang/es_ES.phar && \
63 | wget -nv -O upload/include/i18n/de.phar https://s3.amazonaws.com/downloads.osticket.com/lang/de.phar && \
64 | mv upload/include/i18n upload/include/i18n.dist && \
65 | # Download LDAP plugin
66 | wget -nv -O upload/include/plugins/auth-ldap.phar https://s3.amazonaws.com/downloads.osticket.com/plugin/auth-ldap.phar && \
67 | # Create msmtp log
68 | touch /var/log/msmtp.log && \
69 | chown www-data:www-data /var/log/msmtp.log && \
70 | # File upload permissions
71 | mkdir -p /var/tmp/nginx && \
72 | chown nginx:www-data /var/tmp/nginx && chmod g+rx /var/tmp/nginx
73 | COPY files/ /
74 | VOLUME ["/data/upload/include/plugins","/data/upload/include/i18n","/var/log/nginx"]
75 | EXPOSE 80
76 | CMD ["/data/bin/start.sh"]
77 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Petter Helset
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | docker-osticket
2 | ===============
3 |
4 | # Introduction
5 |
6 | Docker image for running version 1.14.3 of [OSTicket](http://osticket.com/).
7 |
8 | This image has been created from the original docker-osticket image by [Petter A. Helset](mailto:petter@helset.eu).
9 |
10 | It has a few modifications:
11 |
12 | * Documentation added, hurray!
13 | * Base OS image fixed to Alpine Linux
14 | * AJAX issues fixed that made original image unusable
15 | * Now designed to work with a linked [MySQL](https://registry.hub.docker.com/u/library/mysql/) docker container.
16 | * Automates configuration file & database installation
17 | * EMail support
18 |
19 | OSTicket is being served by [nginx](http://wiki.nginx.org/Main) using [PHP-FPM](http://php-fpm.org/) with PHP 7.2.
20 | PHP7's [mail](http://php.net/manual/en/function.mail.php) function is configured to use [msmtp](http://msmtp.sourceforge.net/) to send out-going messages.
21 |
22 | The `setup/` directory has been renamed as `setup_hidden/` and the file system permissions deny nginx access to this
23 | location. It was not removed as the setup files are required as part of the automatic configuration during container
24 | start.
25 |
26 | # Quick Start
27 |
28 | Ensure you have a MySQL 5+ container running that OSTicket can use to store its data.
29 |
30 | ```bash
31 | docker run --name osticket_mysql -d -e MYSQL_ROOT_PASSWORD=secret -e MYSQL_USER=osticket -e MYSQL_PASSWORD=secret -e MYSQL_DATABASE=osticket mysql:5
32 | ```
33 |
34 | Now run this image and link the MySQL container.
35 |
36 | ```bash
37 | docker run --name osticket -d --link osticket_mysql:mysql -p 8080:80 campbellsoftwaresolutions/osticket
38 | ```
39 |
40 | Wait for the installation to complete then browse to your OSTicket staff control panel at `http://localhost:8080/scp/`. Login with default admin user & password:
41 |
42 | * username: **ostadmin**
43 | * password: **Admin1**
44 |
45 | Now configure as required. If you are intending on using this image in production, please make sure you change the
46 | passwords above and read the rest of this documentation!
47 |
48 | Note (1): If you want to change the environmental database variables on the OSTicket image to run, you can do it as follows.
49 |
50 | ```bash
51 | docker run --name osticket -d -e MYSQL_ROOT_PASSWORD=new_root_password -e MYSQL_USER=new_root_user -e MYSQL_PASSWORD=new_secret -e MYSQL_DATABASE=osticket --link osticket_mysql:mysql -p 8080:80 campbellsoftwaresolutions/osticket
52 | ```
53 |
54 | Note (2): OSTicket automatically redirects `http://localhost:8080/scp` to `http://localhost/scp/`. Either serve this on port 80 or don't omit the
55 | trailing slash after `scp/`!
56 |
57 | # MySQL connection
58 |
59 | The recommended connection method is to link your MySQL container to this image with the alias name ```mysql```. However, if you
60 | are using an external MySQL server then you can specify the connection details using environmental variables.
61 |
62 | OSTicket requires that the MySQL connection specifies a user with full permissions to the specified database. This is required for the automatic
63 | database installation.
64 |
65 | The OSTicket configuration file is re-created from the template every time the container is started. This ensures the
66 | MySQL connection details are always kept up to date automatically in case of any changes.
67 |
68 | ## Linked container Settings
69 |
70 | There are no mandatory settings required when you link your MySQL container with the alias `mysql` as per the quick start example.
71 |
72 | ## External MySQL connection settings
73 |
74 | The following environmental variables should be set when connecting to an external MySQL server.
75 |
76 | `MYSQL_HOST`
77 |
78 | The host name or IP address of the MySQL host to connect to. This is not required when you link a container
79 | with the alias `mysql`. This must be provided if not using a linked container.
80 |
81 | `MYSQL_PORT`
82 |
83 | The TCP port number to connect to on the MySQL host. This is only required if you are not using a linked container
84 | and also are not using the default MySQL port on your server (3306).
85 |
86 | `MYSQL_PASSWORD`
87 |
88 | The password for the specified user used when connecting to the MySQL server. By default will use the environmental variable
89 | `MYSQL_PASSWORD` from the linked MySQL container if this is not explicitly specified. This must be provided if not
90 | using a linked container.
91 |
92 | `MYSQL_PREFIX`
93 |
94 | The table prefix for this installation. Unlikely you will need to change this as customisable table prefixes are
95 | designed for shared hosting with only a single MySQL database available. Defaults to 'ost_'.
96 |
97 | `MYSQL_DATABASE`
98 |
99 | The name of the database to connect to. Defaults to 'osticket'.
100 |
101 | `MYSQL_USER`
102 |
103 | The user name to use when connecting to the MySQL server. Defaults to 'osticket'.
104 |
105 | # Mail Configuration
106 |
107 | The image does not run a MTA. Although one could be installed quite easily, getting the setup so that external mail servers
108 | will accept mail from your host & domain is not trivial due to anti-spam measures. This is additionally difficult to do
109 | from ephemeral docker containers that run in a cloud where the host may change etc.
110 |
111 | Hence this image supports OSTicket sending of mail by sending directly to designated a SMTP server.
112 | However, you must provide the relevant SMTP settings through environmental variables before this will function.
113 |
114 | To automatically collect email from an external IMAP or POP3 account, configure the settings for the relevant email address in
115 | your admin control panel as normal (Admin Panel -> Emails).
116 |
117 | ## SMTP Settings
118 |
119 | `SMTP_HOST`
120 |
121 | The host name (or IP address) of the SMTP server to send all outgoing mail through. Defaults to 'localhost'.
122 |
123 | `SMTP_PORT`
124 |
125 | The TCP port to connect to on the server. Defaults to '25'. Usually one of 25, 465 or 587.
126 |
127 | `SMTP_FROM`
128 |
129 | The envelope from address to use when sending email (note that is not the same as the From: header). This must be
130 | provided for sending mail to function. However, if not specified, this will default to the value of `SMTP_USER` if this is provided.
131 |
132 | `SMTP_TLS`
133 |
134 | Boolean (1 or 0) value indicating if TLS should be used to create a secure connection to the server. Defaults to true.
135 |
136 | `SMTP_TLS_CERTS`
137 |
138 | If TLS is in use, indicates file containing root certificates used to verify server certificate. Defaults to system
139 | installed ca certificates list. This would normally only need changed if you are using your own certificate authority
140 | or are connecting to a server with a self signed certificate.
141 |
142 | `SMTP_USER`
143 |
144 | The user identity to use for SMTP authentication. Specifying a value here will enable SMTP authentication. This will also
145 | be used for the `SMTP_FROM` value if this is not explicitly specified. Defaults to no value.
146 |
147 | `SMTP_PASSWORD`
148 |
149 | The password associated with the user for SMTP authentication. Defaults to no value.
150 |
151 | ## IMAP/POP3 Settings
152 |
153 | `CRON_INTERVAL`
154 |
155 | Specifies how often (in minutes) that OSTicket cron script should be ran to check for incoming emails. Defaults to 5
156 | minutes. Set to 0 to disable running of cron script. Note that this works in conjuction with the email check interval
157 | specified in the admin control panel, you need to specify both to the value you'd like!
158 |
159 | # Volumes
160 |
161 | This image currently supports three volumes. None of these need to used if you do not require them.
162 |
163 | `/data/upload/include/plugins`
164 |
165 | This is the location where any OSTicket plugins, like [the core plugins](https://github.com/osTicket/core-plugins),
166 | can be placed. Plugins are not included in this image and hence should be maintained in a separate linked Docker
167 | container or the host filesystem.
168 |
169 | `/data/upload/include/i18n`
170 |
171 | This is the location where language packs can be added. There are several languages included in this image.
172 | If you want to add / change them, you can use this volume.
173 |
174 | `/var/log/nginx`
175 |
176 | nginx will store it's access & error logs in this location. If you wish to expose these to automatic log
177 | collection tools then you should mount this volume.
178 |
179 | # Environmental Variables
180 |
181 | `INSTALL_SECRET`
182 |
183 | Secret string value for OST installation. A random value is generated on start-up and persisted within the container if this is not provided.
184 |
185 | *If using in production you should specify this so that re-creating the container does not cause
186 | your installation secret to be lost!*
187 |
188 | `INSTALL_CONFIG`
189 |
190 | If you require a configuration file for OSTicket with custom content then you should create one and mount it in your
191 | container as a volume. The placeholders for the MySQL connection must be retained as these will be populated automatically
192 | when the container starts. Set this environmental variable to the fully qualified file name of your custom configuration.
193 | If not specified, the default OSTicket sample configuration file is used.
194 |
195 | `INSTALL_EMAIL`
196 |
197 | Helpdesk email account. This is placed in the configuration file as well as the DB during installation.
198 | Defaults to 'helpdesk@example.com'
199 |
200 | `INSTALL_URL`
201 |
202 | The full URL of the OST ticket installation that will be set in the DB during installation.
203 | This should be set to match the public facing URL of your OSTicket site.
204 | For example: `https://help.example.com/osticket`. Defaults to `http://localhost:8080/`.
205 |
206 | This has no effect if the database has already been installed. In this case, you should change the Helpdesk URL in
207 | *System Settings and Preferences* in the admin control panel.
208 |
209 | ## Database Installation Only
210 |
211 | The remaining environmental variables can be used as a convenience to provide defaults during the automated database
212 | installation but most of these settings can be changed through the admin panel if required. These are only used when creating
213 | the initial database.
214 |
215 | `INSTALL_NAME`
216 |
217 | The name of the helpdesk to create if installing. Defaults to "My Helpdesk".
218 |
219 | `ADMIN_FIRSTNAME`
220 |
221 | First name of automatically created administrative user. Defaults to 'Admin'.
222 |
223 | `ADMIN_LASTNAME`
224 |
225 | Last name of automatically created administrative user. Defaults to 'User'.
226 |
227 | `ADMIN_EMAIL`
228 |
229 | Email address of automatically created administrative user. Defaults to 'admin@example.com'.
230 |
231 | `ADMIN_USERNAME`
232 |
233 | User name to use for automatically created administrative user. Defaults to 'ostadmin'.
234 |
235 | `ADMIN_PASSWORD`
236 |
237 | Password to use for automatically created administrative user. Defaults to 'Admin1'.
238 |
239 | # Modifications
240 |
241 | This image was put together relatively quickly and could probably be improved to meet other use cases.
242 |
243 | Please feel free to open an issue if you have any changes you would like to see. All pull requests are also appreciated!
244 |
245 | # License
246 |
247 | This image and source code is made available under the MIT licence. See the LICENSE file for details.
248 |
--------------------------------------------------------------------------------
/files/data/bin/install.php:
--------------------------------------------------------------------------------
1 | getenv("INSTALL_NAME") ?: 'My Helpdesk',
10 | 'email' => getenv("INSTALL_EMAIL") ?: 'helpdesk@example.com',
11 | 'url' => getenv("INSTALL_URL") ?: 'http://localhost:8080/',
12 |
13 | 'fname' => getenv("ADMIN_FIRSTNAME") ?: 'Admin',
14 | 'lname' => getenv("ADMIN_LASTNAME") ?: 'User',
15 | 'admin_email' => getenv("ADMIN_EMAIL") ?: 'admin@example.com',
16 | 'username' => getenv("ADMIN_USERNAME") ?: 'ostadmin',
17 | 'passwd' => getenv("ADMIN_PASSWORD") ?: 'Admin1',
18 | 'passwd2' => getenv("ADMIN_PASSWORD") ?: 'Admin1',
19 |
20 | 'prefix' => getenv("MYSQL_PREFIX") ?: 'ost_',
21 | 'dbhost' => getenv("MYSQL_HOST") ?: 'mysql',
22 | 'dbport' => getenv("MYSQL_PORT") ?: 3306,
23 | 'dbname' => getenv("MYSQL_DATABASE") ?: 'osticket',
24 | 'dbuser' => getenv("MYSQL_USER") ?: 'osticket',
25 | 'dbpass' => getenv("MYSQL_PASSWORD") ?: getenv("MYSQL_ENV_MYSQL_PASSWORD"),
26 |
27 | 'smtp_host' => getenv("SMTP_HOST") ?: 'localhost',
28 | 'smtp_port' => getenv("SMTP_PORT") ?: 25,
29 | 'smtp_from' => getenv("SMTP_FROM"),
30 | 'smtp_tls' => getenv("SMTP_TLS"),
31 | 'smtp_tls_certs' => getenv("SMTP_TLS_CERTS") ?: '/etc/ssl/certs/ca-certificates.crt',
32 | 'smtp_user' => getenv("SMTP_USER"),
33 | 'smtp_pass' => getenv("SMTP_PASSWORD"),
34 |
35 | 'cron_interval' => getenv("CRON_INTERVAL") ?: 5,
36 |
37 | 'siri' => getenv("INSTALL_SECRET"),
38 | 'config' => getenv("INSTALL_CONFIG") ?: '/data/upload/include/ost-sampleconfig.php'
39 | );
40 |
41 | //Script settings
42 | define('CONNECTION_TIMEOUT_SEC', 180);
43 |
44 | function err( $msg) {
45 | fwrite(STDERR, "$msg\n");
46 | exit(1);
47 | }
48 |
49 | function boolToOnOff($v) {
50 | return ((boolean) $v) ? 'on' : 'off';
51 | }
52 |
53 | function convertStrToBool($varName, $default) {
54 | global $vars;
55 | if ($vars[$varName] != '') {
56 | return $vars[$varName] == '1';
57 | }
58 | return $default;
59 | }
60 |
61 | // Override Helpdesk URL. Only applied during database installation.
62 | define("URL",$vars['url']);
63 |
64 | //Require files (must be done before any output to avoid session start warnings)
65 | chdir("/data/upload/setup_hidden");
66 | require "/data/upload/setup_hidden/setup.inc.php";
67 | require_once INC_DIR.'class.installer.php';
68 |
69 |
70 | /************************* Mail Configuration *******************************************/
71 | define('MAIL_CONFIG_FILE','/etc/msmtp');
72 |
73 | echo "Configuring mail settings\n";
74 | if (!$mailConfig = file_get_contents('/data/msmtp.conf')) {
75 | err("Failed to load mail configuration file");
76 | };
77 | $mailConfig = str_replace('%SMTP_HOSTNAME%', $vars['smtp_host'], $mailConfig);
78 | $mailConfig = str_replace('%SMTP_PORT%', $vars['smtp_port'], $mailConfig);
79 | $v = !empty($vars['smtp_from']) ? $vars['smtp_from'] : $vars['smtp_user'];
80 | $mailConfig = str_replace('%SMTP_FROM%', $v, $mailConfig);
81 | $mailConfig = str_replace('%SMTP_USER%', $vars['smtp_user'], $mailConfig);
82 | $mailConfig = str_replace('%SMTP_PASS%', $vars['smtp_pass'], $mailConfig);
83 | $mailConfig = str_replace('%SMTP_TLS_CERTS%', $vars['smtp_tls_certs'], $mailConfig);
84 |
85 | $mailConfig = str_replace('%SMTP_TLS%', boolToOnOff(convertStrToBool('smtp_tls',true)), $mailConfig);
86 | $mailConfig = str_replace('%SMTP_AUTH%', boolToOnOff($vars['smtp_user'] != ''), $mailConfig);
87 |
88 | if (!file_put_contents(MAIL_CONFIG_FILE, $mailConfig) || !chown(MAIL_CONFIG_FILE,'www-data')
89 | || !chgrp(MAIL_CONFIG_FILE,'www-data') || !chmod(MAIL_CONFIG_FILE,0600)) {
90 | err("Failed to write mail configuration file");
91 | }
92 |
93 | //Cron interval - enable or disable
94 | define('CRON_JOB_FILE','/var/spool/cron/crontabs/www-data');
95 |
96 | $interval = (int)$vars['cron_interval'];
97 | if ($interval > 0) {
98 | echo "OSTicket cron job is set to run every {$interval} minutes\n";
99 | $cron = "*/{$interval} * * * * /usr/local/bin/php -c /usr/local/etc/php/php.ini /data/upload/api/cron.php\n";
100 | file_put_contents(CRON_JOB_FILE, $cron);
101 | } else {
102 | echo "OSTicket cron job is disabled\n";
103 | unlink(CRON_JOB_FILE);
104 | }
105 |
106 | /************************* OSTicket Installation *******************************************/
107 |
108 | //Create installer class
109 | define('OSTICKET_CONFIGFILE','/data/upload/include/ost-config.php');
110 | $installer = new Installer(OSTICKET_CONFIGFILE); //Installer instance.
111 |
112 | //Determine if using linked container
113 | $linked = (boolean)getenv("MYSQL_ENV_MYSQL_PASSWORD");
114 |
115 | if (!$linked) {
116 | //Check mandatory connection settings provided
117 | if (!getenv("MYSQL_HOST")) {
118 | err('Missing required environmental variable MYSQL_HOST');
119 | }
120 | if (!getenv("MYSQL_PASSWORD")) {
121 | err('Missing required environmental variable: MYSQL_PASSWORD');
122 | }
123 |
124 | // Always set mysqli.default_port for osTicket db_connect
125 | ini_set('mysqli.default_port', $vars['dbport']);
126 |
127 | echo "Connecting to external MySQL server on ${vars['dbhost']}:${vars['dbport']}\n";
128 | } else {
129 | echo "Using linked MySQL container\n";
130 |
131 | # MYSQL_PORT is a TCP uri injected by container linking. Use port specified in MYSQL_PORT_3306_TCP_PORT.
132 | $vars['dbport'] = getenv("MYSQL_PORT_3306_TCP_PORT");
133 | }
134 |
135 | //Wait for database connection
136 | echo "Waiting for database TCP connection to become available...\n";
137 | $s = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
138 | $t = 0;
139 | while (!@socket_connect($s,$vars['dbhost'],$vars['dbport']) && $t < CONNECTION_TIMEOUT_SEC) {
140 | $t++;
141 | if (($t % 15) == 0) {
142 | echo "Waited for $t seconds...\n";
143 | }
144 | sleep(1);
145 | }
146 | if ($t >= CONNECTION_TIMEOUT_SEC) {
147 | err("Timed out waiting for database TCP connection");
148 | }
149 |
150 | //Check database installation status
151 | $db_installed = false;
152 | echo "Connecting to database mysql://${vars['dbuser']}@${vars['dbhost']}/${vars['dbname']}\n";
153 | if (!db_connect($vars['dbhost'],$vars['dbuser'],$vars['dbpass']))
154 | err(sprintf(__('Unable to connect to MySQL server: %s'), db_connect_error()));
155 | elseif(explode('.', db_version()) < explode('.', $installer->getMySQLVersion()))
156 | err(sprintf(__('osTicket requires MySQL %s or later!'),$installer->getMySQLVersion()));
157 | elseif(!db_select_database($vars['dbname']) && !db_create_database($vars['dbname'])) {
158 | err("Database doesn't exist");
159 | } elseif(!db_select_database($vars['dbname'])) {
160 | err('Unable to select the database');
161 | } else {
162 | $sql = 'SELECT * FROM `'.$vars['prefix'].'config` LIMIT 1';
163 | if(db_query($sql, false)) {
164 | $db_installed = true;
165 | echo "Database already installed\n";
166 | }
167 | }
168 |
169 | //Create secret if not set by env var and not previously stored
170 | DEFINE('SECRET_FILE','/data/secret.txt');
171 | if (!$vars['siri']) {
172 | if (file_exists(SECRET_FILE)) {
173 | echo "Loading installation secret\n";
174 | $vars['siri'] = file_get_contents(SECRET_FILE);
175 | } else {
176 | echo "Generating new installation secret and saving\n";
177 | //Note that this randomly generated value is not intended to secure production sites!
178 | $vars['siri'] = substr(str_shuffle("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890_="), 0, 32);
179 | file_put_contents(SECRET_FILE, $vars['siri']);
180 | }
181 | } else {
182 | echo "Using installation secret from INSTALL_SECRET environmental variable\n";
183 | }
184 |
185 | //Always rewrite config file in case MySQL details changed (e.g. ip address)
186 | echo "Updating configuration file\n";
187 | if (!$configFile = file_get_contents($vars['config'])) {
188 | err("Failed to load configuration file: {$vars['config']}");
189 | };
190 | $configFile= str_replace("define('OSTINSTALLED',FALSE);","define('OSTINSTALLED',TRUE);",$configFile);
191 | $configFile= str_replace('%ADMIN-EMAIL',$vars['admin_email'],$configFile);
192 | $configFile= str_replace('%CONFIG-DBHOST',$vars['dbhost'] . ':' . $vars['dbport'],$configFile);
193 | $configFile= str_replace('%CONFIG-DBNAME',$vars['dbname'],$configFile);
194 | $configFile= str_replace('%CONFIG-DBUSER',$vars['dbuser'],$configFile);
195 | $configFile= str_replace('%CONFIG-DBPASS',$vars['dbpass'],$configFile);
196 | $configFile= str_replace('%CONFIG-PREFIX',$vars['prefix'],$configFile);
197 | $configFile= str_replace('%CONFIG-SIRI',$vars['siri'],$configFile);
198 |
199 | if (!file_put_contents($installer->getConfigFile(), $configFile)) {
200 | err("Failed to write configuration file");
201 | }
202 |
203 | //Perform database installation if required
204 | if (!$db_installed) {
205 | echo "Installing database. Please wait...\n";
206 | if (!$installer->install($vars)) {
207 | $errors=$installer->getErrors();
208 | echo "Database installation failed. Errors:\n";
209 | foreach($errors as $e) {
210 | echo " $e\n";
211 | }
212 | exit(1);
213 | } else {
214 | echo "Database installation successful\n";
215 | }
216 | }
217 |
218 | ?>
219 |
--------------------------------------------------------------------------------
/files/data/bin/start.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # (C) Campbell Software Solutions 2015
3 | set -e
4 |
5 | # Populate "/data/upload/include/i18n" volume with language packs
6 | if [ ! "$(ls -A /data/upload/include/i18n)" ]; then
7 | cp -r /data/upload/include/i18n.dist/* /data/upload/include/i18n
8 | chown -R www-data:www-data /data/upload/include/i18n
9 | fi
10 |
11 | # Automate installation
12 | php /data/bin/install.php
13 | echo Applying configuration file security
14 | chmod 644 /data/upload/include/ost-config.php
15 |
16 | mkdir -p /run/nginx
17 | chown -R www-data:www-data /run/nginx
18 | chown -R www-data:www-data /var/lib/nginx
19 | mkdir -p /var/log/php
20 | chown -R www-data:www-data /var/log/php
21 |
22 | #Launch supervisor to manage processes
23 | exec /usr/bin/supervisord -c /data/supervisord.conf
24 |
--------------------------------------------------------------------------------
/files/data/msmtp.conf:
--------------------------------------------------------------------------------
1 | # msmtp configuration template
2 | #
3 | # This is populated and saved as /etc/msmtp when image starts
4 | #
5 |
6 | # Default settings
7 | defaults
8 | logfile /var/log/msmtp.log
9 |
10 | # OSTicket account
11 | account osticket
12 | protocol smtp
13 | host %SMTP_HOSTNAME%
14 | tls %SMTP_TLS%
15 | tls_trust_file %SMTP_TLS_CERTS%
16 | port %SMTP_PORT%
17 | auth %SMTP_AUTH%
18 | user %SMTP_USER%
19 | password %SMTP_PASS%
20 | from %SMTP_FROM%
21 |
22 | # If you don't use the '-a' parameter in your command line, the default account will be used.
23 | account default: osticket
24 |
--------------------------------------------------------------------------------
/files/data/supervisord.conf:
--------------------------------------------------------------------------------
1 | [supervisord]
2 | nodaemon=true
3 |
4 | [program:php-fpm]
5 | command=php-fpm -c $PHP_INI_DIR -y /usr/local/etc/php-fpm.conf
6 |
7 | [program:nginx]
8 | command=nginx
9 |
10 | [program:cron]
11 | command = /usr/sbin/crond -f
12 | stdout_logfile = /var/log/cron.log
13 | stderr_logfile = /var/log/cron.log
14 | autorestart=true
15 |
--------------------------------------------------------------------------------
/files/etc/nginx/nginx.conf:
--------------------------------------------------------------------------------
1 | user www-data;
2 | worker_processes auto;
3 |
4 | events {
5 | worker_connections 1024;
6 | }
7 |
8 | http {
9 | include mime.types;
10 | default_type application/octet-stream;
11 |
12 | sendfile on;
13 | keepalive_timeout 2;
14 | client_max_body_size 100m;
15 |
16 | server {
17 | listen 80;
18 | server_name localhost;
19 |
20 | add_header X-Content-Type-Options nosniff always;
21 | add_header X-XSS-Protection "1; mode=block" always;
22 |
23 | root /data/upload;
24 | index index.html index.htm index.php;
25 |
26 | access_log /var/log/nginx/osticket-access.log;
27 | error_log /var/log/nginx/osticket-error.log error;
28 |
29 | charset utf-8;
30 |
31 | set $path_info "";
32 |
33 | location ~ /include {
34 | deny all;
35 | return 403;
36 | }
37 |
38 | if ($request_uri ~ "^/api(/[^\?]+)") {
39 | set $path_info $1;
40 | }
41 |
42 | location /api {
43 | try_files $uri $uri/ /api/http.php?$query_string;
44 | }
45 |
46 | if ($request_uri ~ "^/scp/.*\.php(/[^\?]+)") {
47 | set $path_info $1;
48 | }
49 |
50 | location ~ ^/scp/ajax.php/.*$ {
51 | try_files $uri $uri/ /scp/ajax.php?$query_string;
52 | }
53 |
54 | if ($request_uri ~ "^/ajax.php(/[^\?]+)") {
55 | set $path_info $1;
56 | }
57 |
58 | location ~ ^/ajax.php/.*$ {
59 | try_files $uri $uri/ /ajax.php?$query_string;
60 | }
61 |
62 | location / {
63 | try_files $uri $uri/ index.php;
64 | }
65 |
66 | location = /favicon.ico { log_not_found off; access_log off; }
67 | location = /robots.txt { access_log off; log_not_found off; }
68 |
69 | # Deny .htaccess file access
70 | location ~ /\.ht {
71 | deny all;
72 | }
73 |
74 | location ~ \.php$ {
75 | try_files $uri = 404;
76 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
77 | include fastcgi_params;
78 | fastcgi_index index.php;
79 | fastcgi_param LARA_ENV local; # Environment variable for Laravel
80 | fastcgi_param PATH_INFO $path_info;
81 | fastcgi_pass 127.0.0.1:9000;
82 | }
83 | }
84 | }
85 |
86 | daemon off;
87 |
--------------------------------------------------------------------------------
/files/usr/local/etc/php/conf.d/php-osticket.ini:
--------------------------------------------------------------------------------
1 | cgi.fix_pathinfo=0
2 | upload_max_filesize=100M
3 | post_max_size=100M
4 | sendmail_path="/usr/bin/msmtp -C /etc/msmtp -t "
5 | apc.enabled=1
6 | apc.enable_cli=1
7 | apc.ttl=7200
8 | date.timezone=UTC
9 |
--------------------------------------------------------------------------------
/files/usr/local/etc/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 | ; Default Value: Off
529 | ; Development Value: On
530 | ; Production Value: Off
531 | ; http://php.net/track-errors
532 | track_errors = Off
533 |
534 | ; Turn off normal error reporting and emit XML-RPC error XML
535 | ; http://php.net/xmlrpc-errors
536 | ;xmlrpc_errors = 0
537 |
538 | ; An XML-RPC faultCode
539 | ;xmlrpc_error_number = 0
540 |
541 | ; When PHP displays or logs an error, it has the capability of formatting the
542 | ; error message as HTML for easier reading. This directive controls whether
543 | ; the error message is formatted as HTML or not.
544 | ; Note: This directive is hardcoded to Off for the CLI SAPI
545 | ; Default Value: On
546 | ; Development Value: On
547 | ; Production value: On
548 | ; http://php.net/html-errors
549 | html_errors = On
550 |
551 | ; If html_errors is set to On *and* docref_root is not empty, then PHP
552 | ; produces clickable error messages that direct to a page describing the error
553 | ; or function causing the error in detail.
554 | ; You can download a copy of the PHP manual from http://php.net/docs
555 | ; and change docref_root to the base URL of your local copy including the
556 | ; leading '/'. You must also specify the file extension being used including
557 | ; the dot. PHP's default behavior is to leave these settings empty, in which
558 | ; case no links to documentation are generated.
559 | ; Note: Never use this feature for production boxes.
560 | ; http://php.net/docref-root
561 | ; Examples
562 | ;docref_root = "/phpmanual/"
563 |
564 | ; http://php.net/docref-ext
565 | ;docref_ext = .html
566 |
567 | ; String to output before an error message. PHP's default behavior is to leave
568 | ; this setting blank.
569 | ; http://php.net/error-prepend-string
570 | ; Example:
571 | ;error_prepend_string = ""
572 |
573 | ; String to output after an error message. PHP's default behavior is to leave
574 | ; this setting blank.
575 | ; http://php.net/error-append-string
576 | ; Example:
577 | ;error_append_string = ""
578 |
579 | ; Log errors to specified file. PHP's default behavior is to leave this value
580 | ; empty.
581 | ; http://php.net/error-log
582 | ; Example:
583 | error_log = /var/log/php/error.log
584 |
585 | ;windows.show_crt_warning
586 | ; Default value: 0
587 | ; Development value: 0
588 | ; Production value: 0
589 |
590 | ;;;;;;;;;;;;;;;;;
591 | ; Data Handling ;
592 | ;;;;;;;;;;;;;;;;;
593 |
594 | ; The separator used in PHP generated URLs to separate arguments.
595 | ; PHP's default setting is "&".
596 | ; http://php.net/arg-separator.output
597 | ; Example:
598 | ;arg_separator.output = "&"
599 |
600 | ; List of separator(s) used by PHP to parse input URLs into variables.
601 | ; PHP's default setting is "&".
602 | ; NOTE: Every character in this directive is considered as separator!
603 | ; http://php.net/arg-separator.input
604 | ; Example:
605 | ;arg_separator.input = ";&"
606 |
607 | ; This directive determines which super global arrays are registered when PHP
608 | ; starts up. G,P,C,E & S are abbreviations for the following respective super
609 | ; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty
610 | ; paid for the registration of these arrays and because ENV is not as commonly
611 | ; used as the others, ENV is not recommended on productions servers. You
612 | ; can still get access to the environment variables through getenv() should you
613 | ; need to.
614 | ; Default Value: "EGPCS"
615 | ; Development Value: "GPCS"
616 | ; Production Value: "GPCS";
617 | ; http://php.net/variables-order
618 | variables_order = "GPCS"
619 |
620 | ; This directive determines which super global data (G,P & C) should be
621 | ; registered into the super global array REQUEST. If so, it also determines
622 | ; the order in which that data is registered. The values for this directive
623 | ; are specified in the same manner as the variables_order directive,
624 | ; EXCEPT one. Leaving this value empty will cause PHP to use the value set
625 | ; in the variables_order directive. It does not mean it will leave the super
626 | ; globals array REQUEST empty.
627 | ; Default Value: None
628 | ; Development Value: "GP"
629 | ; Production Value: "GP"
630 | ; http://php.net/request-order
631 | request_order = "GP"
632 |
633 | ; This directive determines whether PHP registers $argv & $argc each time it
634 | ; runs. $argv contains an array of all the arguments passed to PHP when a script
635 | ; is invoked. $argc contains an integer representing the number of arguments
636 | ; that were passed when the script was invoked. These arrays are extremely
637 | ; useful when running scripts from the command line. When this directive is
638 | ; enabled, registering these variables consumes CPU cycles and memory each time
639 | ; a script is executed. For performance reasons, this feature should be disabled
640 | ; on production servers.
641 | ; Note: This directive is hardcoded to On for the CLI SAPI
642 | ; Default Value: On
643 | ; Development Value: Off
644 | ; Production Value: Off
645 | ; http://php.net/register-argc-argv
646 | register_argc_argv = Off
647 |
648 | ; When enabled, the ENV, REQUEST and SERVER variables are created when they're
649 | ; first used (Just In Time) instead of when the script starts. If these
650 | ; variables are not used within a script, having this directive on will result
651 | ; in a performance gain. The PHP directive register_argc_argv must be disabled
652 | ; for this directive to have any affect.
653 | ; http://php.net/auto-globals-jit
654 | auto_globals_jit = On
655 |
656 | ; Whether PHP will read the POST data.
657 | ; This option is enabled by default.
658 | ; Most likely, you won't want to disable this option globally. It causes $_POST
659 | ; and $_FILES to always be empty; the only way you will be able to read the
660 | ; POST data will be through the php://input stream wrapper. This can be useful
661 | ; to proxy requests or to process the POST data in a memory efficient fashion.
662 | ; http://php.net/enable-post-data-reading
663 | ;enable_post_data_reading = Off
664 |
665 | ; Maximum size of POST data that PHP will accept.
666 | ; Its value may be 0 to disable the limit. It is ignored if POST data reading
667 | ; is disabled through enable_post_data_reading.
668 | ; http://php.net/post-max-size
669 | post_max_size = 8M
670 |
671 | ; Automatically add files before PHP document.
672 | ; http://php.net/auto-prepend-file
673 | auto_prepend_file =
674 |
675 | ; Automatically add files after PHP document.
676 | ; http://php.net/auto-append-file
677 | auto_append_file =
678 |
679 | ; By default, PHP will output a media type using the Content-Type header. To
680 | ; disable this, simply set it to be empty.
681 | ;
682 | ; PHP's built-in default media type is set to text/html.
683 | ; http://php.net/default-mimetype
684 | default_mimetype = "text/html"
685 |
686 | ; PHP's default character set is set to UTF-8.
687 | ; http://php.net/default-charset
688 | default_charset = "UTF-8"
689 |
690 | ; PHP internal character encoding is set to empty.
691 | ; If empty, default_charset is used.
692 | ; http://php.net/internal-encoding
693 | ;internal_encoding =
694 |
695 | ; PHP input character encoding is set to empty.
696 | ; If empty, default_charset is used.
697 | ; http://php.net/input-encoding
698 | ;input_encoding =
699 |
700 | ; PHP output character encoding is set to empty.
701 | ; If empty, default_charset is used.
702 | ; See also output_buffer.
703 | ; http://php.net/output-encoding
704 | ;output_encoding =
705 |
706 | ;;;;;;;;;;;;;;;;;;;;;;;;;
707 | ; Paths and Directories ;
708 | ;;;;;;;;;;;;;;;;;;;;;;;;;
709 |
710 | ; UNIX: "/path1:/path2"
711 | ;include_path = ".:/php/includes"
712 | ;
713 | ; Windows: "\path1;\path2"
714 | ;include_path = ".;c:\php\includes"
715 | ;
716 | ; PHP's default setting for include_path is ".;/path/to/php/pear"
717 | ; http://php.net/include-path
718 |
719 | ; The root of the PHP pages, used only if nonempty.
720 | ; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
721 | ; if you are running php as a CGI under any web server (other than IIS)
722 | ; see documentation for security issues. The alternate is to use the
723 | ; cgi.force_redirect configuration below
724 | ; http://php.net/doc-root
725 | doc_root =
726 |
727 | ; The directory under which PHP opens the script using /~username used only
728 | ; if nonempty.
729 | ; http://php.net/user-dir
730 | user_dir =
731 |
732 | ; Directory in which the loadable extensions (modules) reside.
733 | ; http://php.net/extension-dir
734 | ; extension_dir = "./"
735 | ; On windows:
736 | ; extension_dir = "ext"
737 |
738 | ; Directory where the temporary files should be placed.
739 | ; Defaults to the system default (see sys_get_temp_dir)
740 | ; sys_temp_dir = "/tmp"
741 |
742 | ; Whether or not to enable the dl() function. The dl() function does NOT work
743 | ; properly in multithreaded servers, such as IIS or Zeus, and is automatically
744 | ; disabled on them.
745 | ; http://php.net/enable-dl
746 | enable_dl = Off
747 |
748 | ; cgi.force_redirect is necessary to provide security running PHP as a CGI under
749 | ; most web servers. Left undefined, PHP turns this on by default. You can
750 | ; turn it off here AT YOUR OWN RISK
751 | ; **You CAN safely turn this off for IIS, in fact, you MUST.**
752 | ; http://php.net/cgi.force-redirect
753 | ;cgi.force_redirect = 1
754 |
755 | ; if cgi.nph is enabled it will force cgi to always sent Status: 200 with
756 | ; every request. PHP's default behavior is to disable this feature.
757 | ;cgi.nph = 1
758 |
759 | ; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape
760 | ; (iPlanet) web servers, you MAY need to set an environment variable name that PHP
761 | ; will look for to know it is OK to continue execution. Setting this variable MAY
762 | ; cause security issues, KNOW WHAT YOU ARE DOING FIRST.
763 | ; http://php.net/cgi.redirect-status-env
764 | ;cgi.redirect_status_env =
765 |
766 | ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
767 | ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
768 | ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
769 | ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting
770 | ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
771 | ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
772 | ; http://php.net/cgi.fix-pathinfo
773 | ;cgi.fix_pathinfo=1
774 |
775 | ; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside
776 | ; of the web tree and people will not be able to circumvent .htaccess security.
777 | ; http://php.net/cgi.dicard-path
778 | ;cgi.discard_path=1
779 |
780 | ; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate
781 | ; security tokens of the calling client. This allows IIS to define the
782 | ; security context that the request runs under. mod_fastcgi under Apache
783 | ; does not currently support this feature (03/17/2002)
784 | ; Set to 1 if running under IIS. Default is zero.
785 | ; http://php.net/fastcgi.impersonate
786 | ;fastcgi.impersonate = 1
787 |
788 | ; Disable logging through FastCGI connection. PHP's default behavior is to enable
789 | ; this feature.
790 | ;fastcgi.logging = 0
791 |
792 | ; cgi.rfc2616_headers configuration option tells PHP what type of headers to
793 | ; use when sending HTTP response code. If set to 0, PHP sends Status: header that
794 | ; is supported by Apache. When this option is set to 1, PHP will send
795 | ; RFC2616 compliant header.
796 | ; Default is zero.
797 | ; http://php.net/cgi.rfc2616-headers
798 | ;cgi.rfc2616_headers = 0
799 |
800 | ; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #!
801 | ; (shebang) at the top of the running script. This line might be needed if the
802 | ; script support running both as stand-alone script and via PHP CGI<. PHP in CGI
803 | ; mode skips this line and ignores its content if this directive is turned on.
804 | ; http://php.net/cgi.check-shebang-line
805 | ;cgi.check_shebang_line=1
806 |
807 | ;;;;;;;;;;;;;;;;
808 | ; File Uploads ;
809 | ;;;;;;;;;;;;;;;;
810 |
811 | ; Whether to allow HTTP file uploads.
812 | ; http://php.net/file-uploads
813 | file_uploads = On
814 |
815 | ; Temporary directory for HTTP uploaded files (will use system default if not
816 | ; specified).
817 | ; http://php.net/upload-tmp-dir
818 | ;upload_tmp_dir =
819 |
820 | ; Maximum allowed size for uploaded files.
821 | ; http://php.net/upload-max-filesize
822 | upload_max_filesize = 2M
823 |
824 | ; Maximum number of files that can be uploaded via a single request
825 | max_file_uploads = 20
826 |
827 | ;;;;;;;;;;;;;;;;;;
828 | ; Fopen wrappers ;
829 | ;;;;;;;;;;;;;;;;;;
830 |
831 | ; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
832 | ; http://php.net/allow-url-fopen
833 | allow_url_fopen = On
834 |
835 | ; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
836 | ; http://php.net/allow-url-include
837 | allow_url_include = Off
838 |
839 | ; Define the anonymous ftp password (your email address). PHP's default setting
840 | ; for this is empty.
841 | ; http://php.net/from
842 | ;from="john@doe.com"
843 |
844 | ; Define the User-Agent string. PHP's default setting for this is empty.
845 | ; http://php.net/user-agent
846 | ;user_agent="PHP"
847 |
848 | ; Default timeout for socket based streams (seconds)
849 | ; http://php.net/default-socket-timeout
850 | default_socket_timeout = 60
851 |
852 | ; If your scripts have to deal with files from Macintosh systems,
853 | ; or you are running on a Mac and need to deal with files from
854 | ; unix or win32 systems, setting this flag will cause PHP to
855 | ; automatically detect the EOL character in those files so that
856 | ; fgets() and file() will work regardless of the source of the file.
857 | ; http://php.net/auto-detect-line-endings
858 | ;auto_detect_line_endings = Off
859 |
860 | ;;;;;;;;;;;;;;;;;;;;;;
861 | ; Dynamic Extensions ;
862 | ;;;;;;;;;;;;;;;;;;;;;;
863 |
864 | ; If you wish to have an extension loaded automatically, use the following
865 | ; syntax:
866 | ;
867 | ; extension=modulename.extension
868 | ;
869 | ; For example, on Windows:
870 | ;
871 | ; extension=mysqli.dll
872 | ;
873 | ; ... or under UNIX:
874 | ;
875 | ; extension=mysqli.so
876 | ;
877 | ; ... or with a path:
878 | ;
879 | ; extension=/path/to/extension/mysqli.so
880 | ;
881 | ; If you only provide the name of the extension, PHP will look for it in its
882 | ; default extension directory.
883 | ;
884 | ; Windows Extensions
885 | ; Note that ODBC support is built in, so no dll is needed for it.
886 | ; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5+)
887 | ; extension folders as well as the separate PECL DLL download (PHP 5+).
888 | ; Be sure to appropriately set the extension_dir directive.
889 | ;
890 | ;extension=php_bz2.dll
891 | ;extension=php_curl.dll
892 | ;extension=php_fileinfo.dll
893 | ;extension=php_ftp.dll
894 | ;extension=php_gd2.dll
895 | ;extension=php_gettext.dll
896 | ;extension=php_gmp.dll
897 | ;extension=php_intl.dll
898 | ;extension=php_imap.dll
899 | ;extension=php_interbase.dll
900 | ;extension=php_ldap.dll
901 | ;extension=php_mbstring.dll
902 | ;extension=php_exif.dll ; Must be after mbstring as it depends on it
903 | ;extension=php_mysqli.dll
904 | ;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client
905 | ;extension=php_openssl.dll
906 | ;extension=php_pdo_firebird.dll
907 | ;extension=php_pdo_mysql.dll
908 | ;extension=php_pdo_oci.dll
909 | ;extension=php_pdo_odbc.dll
910 | ;extension=php_pdo_pgsql.dll
911 | ;extension=php_pdo_sqlite.dll
912 | ;extension=php_pgsql.dll
913 | ;extension=php_shmop.dll
914 |
915 | ; The MIBS data available in the PHP distribution must be installed.
916 | ; See http://www.php.net/manual/en/snmp.installation.php
917 | ;extension=php_snmp.dll
918 |
919 | ;extension=php_soap.dll
920 | ;extension=php_sockets.dll
921 | ;extension=php_sqlite3.dll
922 | ;extension=php_tidy.dll
923 | ;extension=php_xmlrpc.dll
924 | ;extension=php_xsl.dll
925 |
926 | ;;;;;;;;;;;;;;;;;;;
927 | ; Module Settings ;
928 | ;;;;;;;;;;;;;;;;;;;
929 |
930 | [CLI Server]
931 | ; Whether the CLI web server uses ANSI color coding in its terminal output.
932 | cli_server.color = On
933 |
934 | [Date]
935 | ; Defines the default timezone used by the date functions
936 | ; http://php.net/date.timezone
937 | ;date.timezone =
938 |
939 | ; http://php.net/date.default-latitude
940 | ;date.default_latitude = 31.7667
941 |
942 | ; http://php.net/date.default-longitude
943 | ;date.default_longitude = 35.2333
944 |
945 | ; http://php.net/date.sunrise-zenith
946 | ;date.sunrise_zenith = 90.583333
947 |
948 | ; http://php.net/date.sunset-zenith
949 | ;date.sunset_zenith = 90.583333
950 |
951 | [filter]
952 | ; http://php.net/filter.default
953 | ;filter.default = unsafe_raw
954 |
955 | ; http://php.net/filter.default-flags
956 | ;filter.default_flags =
957 |
958 | [iconv]
959 | ; Use of this INI entry is deprecated, use global input_encoding instead.
960 | ; If empty, default_charset or input_encoding or iconv.input_encoding is used.
961 | ; The precedence is: default_charset < intput_encoding < iconv.input_encoding
962 | ;iconv.input_encoding =
963 |
964 | ; Use of this INI entry is deprecated, use global internal_encoding instead.
965 | ; If empty, default_charset or internal_encoding or iconv.internal_encoding is used.
966 | ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding
967 | ;iconv.internal_encoding =
968 |
969 | ; Use of this INI entry is deprecated, use global output_encoding instead.
970 | ; If empty, default_charset or output_encoding or iconv.output_encoding is used.
971 | ; The precedence is: default_charset < output_encoding < iconv.output_encoding
972 | ; To use an output encoding conversion, iconv's output handler must be set
973 | ; otherwise output encoding conversion cannot be performed.
974 | ;iconv.output_encoding =
975 |
976 | [intl]
977 | ;intl.default_locale =
978 | ; This directive allows you to produce PHP errors when some error
979 | ; happens within intl functions. The value is the level of the error produced.
980 | ; Default is 0, which does not produce any errors.
981 | ;intl.error_level = E_WARNING
982 | ;intl.use_exceptions = 0
983 |
984 | [sqlite3]
985 | ;sqlite3.extension_dir =
986 |
987 | [Pcre]
988 | ;PCRE library backtracking limit.
989 | ; http://php.net/pcre.backtrack-limit
990 | ;pcre.backtrack_limit=100000
991 |
992 | ;PCRE library recursion limit.
993 | ;Please note that if you set this value to a high number you may consume all
994 | ;the available process stack and eventually crash PHP (due to reaching the
995 | ;stack size limit imposed by the Operating System).
996 | ; http://php.net/pcre.recursion-limit
997 | ;pcre.recursion_limit=100000
998 |
999 | ;Enables or disables JIT compilation of patterns. This requires the PCRE
1000 | ;library to be compiled with JIT support.
1001 | ;pcre.jit=1
1002 |
1003 | [Pdo]
1004 | ; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off"
1005 | ; http://php.net/pdo-odbc.connection-pooling
1006 | ;pdo_odbc.connection_pooling=strict
1007 |
1008 | ;pdo_odbc.db2_instance_name
1009 |
1010 | [Pdo_mysql]
1011 | ; If mysqlnd is used: Number of cache slots for the internal result set cache
1012 | ; http://php.net/pdo_mysql.cache_size
1013 | pdo_mysql.cache_size = 2000
1014 |
1015 | ; Default socket name for local MySQL connects. If empty, uses the built-in
1016 | ; MySQL defaults.
1017 | ; http://php.net/pdo_mysql.default-socket
1018 | pdo_mysql.default_socket=
1019 |
1020 | [Phar]
1021 | ; http://php.net/phar.readonly
1022 | ;phar.readonly = On
1023 |
1024 | ; http://php.net/phar.require-hash
1025 | ;phar.require_hash = On
1026 |
1027 | ;phar.cache_list =
1028 |
1029 | [mail function]
1030 | ; For Win32 only.
1031 | ; http://php.net/smtp
1032 | SMTP = localhost
1033 | ; http://php.net/smtp-port
1034 | smtp_port = 25
1035 |
1036 | ; For Win32 only.
1037 | ; http://php.net/sendmail-from
1038 | ;sendmail_from = me@example.com
1039 |
1040 | ; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
1041 | ; http://php.net/sendmail-path
1042 | ;sendmail_path =
1043 |
1044 | ; Force the addition of the specified parameters to be passed as extra parameters
1045 | ; to the sendmail binary. These parameters will always replace the value of
1046 | ; the 5th parameter to mail().
1047 | ;mail.force_extra_parameters =
1048 |
1049 | ; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
1050 | mail.add_x_header = On
1051 |
1052 | ; The path to a log file that will log all mail() calls. Log entries include
1053 | ; the full path of the script, line number, To address and headers.
1054 | ;mail.log =
1055 | ; Log mail to syslog (Event Log on Windows).
1056 | ;mail.log = syslog
1057 |
1058 | [ODBC]
1059 | ; http://php.net/odbc.default-db
1060 | ;odbc.default_db = Not yet implemented
1061 |
1062 | ; http://php.net/odbc.default-user
1063 | ;odbc.default_user = Not yet implemented
1064 |
1065 | ; http://php.net/odbc.default-pw
1066 | ;odbc.default_pw = Not yet implemented
1067 |
1068 | ; Controls the ODBC cursor model.
1069 | ; Default: SQL_CURSOR_STATIC (default).
1070 | ;odbc.default_cursortype
1071 |
1072 | ; Allow or prevent persistent links.
1073 | ; http://php.net/odbc.allow-persistent
1074 | odbc.allow_persistent = On
1075 |
1076 | ; Check that a connection is still valid before reuse.
1077 | ; http://php.net/odbc.check-persistent
1078 | odbc.check_persistent = On
1079 |
1080 | ; Maximum number of persistent links. -1 means no limit.
1081 | ; http://php.net/odbc.max-persistent
1082 | odbc.max_persistent = -1
1083 |
1084 | ; Maximum number of links (persistent + non-persistent). -1 means no limit.
1085 | ; http://php.net/odbc.max-links
1086 | odbc.max_links = -1
1087 |
1088 | ; Handling of LONG fields. Returns number of bytes to variables. 0 means
1089 | ; passthru.
1090 | ; http://php.net/odbc.defaultlrl
1091 | odbc.defaultlrl = 4096
1092 |
1093 | ; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char.
1094 | ; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
1095 | ; of odbc.defaultlrl and odbc.defaultbinmode
1096 | ; http://php.net/odbc.defaultbinmode
1097 | odbc.defaultbinmode = 1
1098 |
1099 | ;birdstep.max_links = -1
1100 |
1101 | [Interbase]
1102 | ; Allow or prevent persistent links.
1103 | ibase.allow_persistent = 1
1104 |
1105 | ; Maximum number of persistent links. -1 means no limit.
1106 | ibase.max_persistent = -1
1107 |
1108 | ; Maximum number of links (persistent + non-persistent). -1 means no limit.
1109 | ibase.max_links = -1
1110 |
1111 | ; Default database name for ibase_connect().
1112 | ;ibase.default_db =
1113 |
1114 | ; Default username for ibase_connect().
1115 | ;ibase.default_user =
1116 |
1117 | ; Default password for ibase_connect().
1118 | ;ibase.default_password =
1119 |
1120 | ; Default charset for ibase_connect().
1121 | ;ibase.default_charset =
1122 |
1123 | ; Default timestamp format.
1124 | ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
1125 |
1126 | ; Default date format.
1127 | ibase.dateformat = "%Y-%m-%d"
1128 |
1129 | ; Default time format.
1130 | ibase.timeformat = "%H:%M:%S"
1131 |
1132 | [MySQLi]
1133 |
1134 | ; Maximum number of persistent links. -1 means no limit.
1135 | ; http://php.net/mysqli.max-persistent
1136 | mysqli.max_persistent = -1
1137 |
1138 | ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
1139 | ; http://php.net/mysqli.allow_local_infile
1140 | ;mysqli.allow_local_infile = On
1141 |
1142 | ; Allow or prevent persistent links.
1143 | ; http://php.net/mysqli.allow-persistent
1144 | mysqli.allow_persistent = On
1145 |
1146 | ; Maximum number of links. -1 means no limit.
1147 | ; http://php.net/mysqli.max-links
1148 | mysqli.max_links = -1
1149 |
1150 | ; If mysqlnd is used: Number of cache slots for the internal result set cache
1151 | ; http://php.net/mysqli.cache_size
1152 | mysqli.cache_size = 2000
1153 |
1154 | ; Default port number for mysqli_connect(). If unset, mysqli_connect() will use
1155 | ; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the
1156 | ; compile-time value defined MYSQL_PORT (in that order). Win32 will only look
1157 | ; at MYSQL_PORT.
1158 | ; http://php.net/mysqli.default-port
1159 | mysqli.default_port = 3306
1160 |
1161 | ; Default socket name for local MySQL connects. If empty, uses the built-in
1162 | ; MySQL defaults.
1163 | ; http://php.net/mysqli.default-socket
1164 | mysqli.default_socket =
1165 |
1166 | ; Default host for mysql_connect() (doesn't apply in safe mode).
1167 | ; http://php.net/mysqli.default-host
1168 | mysqli.default_host =
1169 |
1170 | ; Default user for mysql_connect() (doesn't apply in safe mode).
1171 | ; http://php.net/mysqli.default-user
1172 | mysqli.default_user =
1173 |
1174 | ; Default password for mysqli_connect() (doesn't apply in safe mode).
1175 | ; Note that this is generally a *bad* idea to store passwords in this file.
1176 | ; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw")
1177 | ; and reveal this password! And of course, any users with read access to this
1178 | ; file will be able to reveal the password as well.
1179 | ; http://php.net/mysqli.default-pw
1180 | mysqli.default_pw =
1181 |
1182 | ; Allow or prevent reconnect
1183 | mysqli.reconnect = Off
1184 |
1185 | [mysqlnd]
1186 | ; Enable / Disable collection of general statistics by mysqlnd which can be
1187 | ; used to tune and monitor MySQL operations.
1188 | ; http://php.net/mysqlnd.collect_statistics
1189 | mysqlnd.collect_statistics = On
1190 |
1191 | ; Enable / Disable collection of memory usage statistics by mysqlnd which can be
1192 | ; used to tune and monitor MySQL operations.
1193 | ; http://php.net/mysqlnd.collect_memory_statistics
1194 | mysqlnd.collect_memory_statistics = Off
1195 |
1196 | ; Records communication from all extensions using mysqlnd to the specified log
1197 | ; file.
1198 | ; http://php.net/mysqlnd.debug
1199 | ;mysqlnd.debug =
1200 |
1201 | ; Defines which queries will be logged.
1202 | ; http://php.net/mysqlnd.log_mask
1203 | ;mysqlnd.log_mask = 0
1204 |
1205 | ; Default size of the mysqlnd memory pool, which is used by result sets.
1206 | ; http://php.net/mysqlnd.mempool_default_size
1207 | ;mysqlnd.mempool_default_size = 16000
1208 |
1209 | ; Size of a pre-allocated buffer used when sending commands to MySQL in bytes.
1210 | ; http://php.net/mysqlnd.net_cmd_buffer_size
1211 | ;mysqlnd.net_cmd_buffer_size = 2048
1212 |
1213 | ; Size of a pre-allocated buffer used for reading data sent by the server in
1214 | ; bytes.
1215 | ; http://php.net/mysqlnd.net_read_buffer_size
1216 | ;mysqlnd.net_read_buffer_size = 32768
1217 |
1218 | ; Timeout for network requests in seconds.
1219 | ; http://php.net/mysqlnd.net_read_timeout
1220 | ;mysqlnd.net_read_timeout = 31536000
1221 |
1222 | ; SHA-256 Authentication Plugin related. File with the MySQL server public RSA
1223 | ; key.
1224 | ; http://php.net/mysqlnd.sha256_server_public_key
1225 | ;mysqlnd.sha256_server_public_key =
1226 |
1227 | [OCI8]
1228 |
1229 | ; Connection: Enables privileged connections using external
1230 | ; credentials (OCI_SYSOPER, OCI_SYSDBA)
1231 | ; http://php.net/oci8.privileged-connect
1232 | ;oci8.privileged_connect = Off
1233 |
1234 | ; Connection: The maximum number of persistent OCI8 connections per
1235 | ; process. Using -1 means no limit.
1236 | ; http://php.net/oci8.max-persistent
1237 | ;oci8.max_persistent = -1
1238 |
1239 | ; Connection: The maximum number of seconds a process is allowed to
1240 | ; maintain an idle persistent connection. Using -1 means idle
1241 | ; persistent connections will be maintained forever.
1242 | ; http://php.net/oci8.persistent-timeout
1243 | ;oci8.persistent_timeout = -1
1244 |
1245 | ; Connection: The number of seconds that must pass before issuing a
1246 | ; ping during oci_pconnect() to check the connection validity. When
1247 | ; set to 0, each oci_pconnect() will cause a ping. Using -1 disables
1248 | ; pings completely.
1249 | ; http://php.net/oci8.ping-interval
1250 | ;oci8.ping_interval = 60
1251 |
1252 | ; Connection: Set this to a user chosen connection class to be used
1253 | ; for all pooled server requests with Oracle 11g Database Resident
1254 | ; Connection Pooling (DRCP). To use DRCP, this value should be set to
1255 | ; the same string for all web servers running the same application,
1256 | ; the database pool must be configured, and the connection string must
1257 | ; specify to use a pooled server.
1258 | ;oci8.connection_class =
1259 |
1260 | ; High Availability: Using On lets PHP receive Fast Application
1261 | ; Notification (FAN) events generated when a database node fails. The
1262 | ; database must also be configured to post FAN events.
1263 | ;oci8.events = Off
1264 |
1265 | ; Tuning: This option enables statement caching, and specifies how
1266 | ; many statements to cache. Using 0 disables statement caching.
1267 | ; http://php.net/oci8.statement-cache-size
1268 | ;oci8.statement_cache_size = 20
1269 |
1270 | ; Tuning: Enables statement prefetching and sets the default number of
1271 | ; rows that will be fetched automatically after statement execution.
1272 | ; http://php.net/oci8.default-prefetch
1273 | ;oci8.default_prefetch = 100
1274 |
1275 | ; Compatibility. Using On means oci_close() will not close
1276 | ; oci_connect() and oci_new_connect() connections.
1277 | ; http://php.net/oci8.old-oci-close-semantics
1278 | ;oci8.old_oci_close_semantics = Off
1279 |
1280 | [PostgreSQL]
1281 | ; Allow or prevent persistent links.
1282 | ; http://php.net/pgsql.allow-persistent
1283 | pgsql.allow_persistent = On
1284 |
1285 | ; Detect broken persistent links always with pg_pconnect().
1286 | ; Auto reset feature requires a little overheads.
1287 | ; http://php.net/pgsql.auto-reset-persistent
1288 | pgsql.auto_reset_persistent = Off
1289 |
1290 | ; Maximum number of persistent links. -1 means no limit.
1291 | ; http://php.net/pgsql.max-persistent
1292 | pgsql.max_persistent = -1
1293 |
1294 | ; Maximum number of links (persistent+non persistent). -1 means no limit.
1295 | ; http://php.net/pgsql.max-links
1296 | pgsql.max_links = -1
1297 |
1298 | ; Ignore PostgreSQL backends Notice message or not.
1299 | ; Notice message logging require a little overheads.
1300 | ; http://php.net/pgsql.ignore-notice
1301 | pgsql.ignore_notice = 0
1302 |
1303 | ; Log PostgreSQL backends Notice message or not.
1304 | ; Unless pgsql.ignore_notice=0, module cannot log notice message.
1305 | ; http://php.net/pgsql.log-notice
1306 | pgsql.log_notice = 0
1307 |
1308 | [bcmath]
1309 | ; Number of decimal digits for all bcmath functions.
1310 | ; http://php.net/bcmath.scale
1311 | bcmath.scale = 0
1312 |
1313 | [browscap]
1314 | ; http://php.net/browscap
1315 | ;browscap = extra/browscap.ini
1316 |
1317 | [Session]
1318 | ; Handler used to store/retrieve data.
1319 | ; http://php.net/session.save-handler
1320 | session.save_handler = files
1321 |
1322 | ; Argument passed to save_handler. In the case of files, this is the path
1323 | ; where data files are stored. Note: Windows users have to change this
1324 | ; variable in order to use PHP's session functions.
1325 | ;
1326 | ; The path can be defined as:
1327 | ;
1328 | ; session.save_path = "N;/path"
1329 | ;
1330 | ; where N is an integer. Instead of storing all the session files in
1331 | ; /path, what this will do is use subdirectories N-levels deep, and
1332 | ; store the session data in those directories. This is useful if
1333 | ; your OS has problems with many files in one directory, and is
1334 | ; a more efficient layout for servers that handle many sessions.
1335 | ;
1336 | ; NOTE 1: PHP will not create this directory structure automatically.
1337 | ; You can use the script in the ext/session dir for that purpose.
1338 | ; NOTE 2: See the section on garbage collection below if you choose to
1339 | ; use subdirectories for session storage
1340 | ;
1341 | ; The file storage module creates files using mode 600 by default.
1342 | ; You can change that by using
1343 | ;
1344 | ; session.save_path = "N;MODE;/path"
1345 | ;
1346 | ; where MODE is the octal representation of the mode. Note that this
1347 | ; does not overwrite the process's umask.
1348 | ; http://php.net/session.save-path
1349 | ;session.save_path = "/tmp"
1350 |
1351 | ; Whether to use strict session mode.
1352 | ; Strict session mode does not accept uninitialized session ID and regenerate
1353 | ; session ID if browser sends uninitialized session ID. Strict mode protects
1354 | ; applications from session fixation via session adoption vulnerability. It is
1355 | ; disabled by default for maximum compatibility, but enabling it is encouraged.
1356 | ; https://wiki.php.net/rfc/strict_sessions
1357 | session.use_strict_mode = 0
1358 |
1359 | ; Whether to use cookies.
1360 | ; http://php.net/session.use-cookies
1361 | session.use_cookies = 1
1362 |
1363 | ; http://php.net/session.cookie-secure
1364 | ;session.cookie_secure =
1365 |
1366 | ; This option forces PHP to fetch and use a cookie for storing and maintaining
1367 | ; the session id. We encourage this operation as it's very helpful in combating
1368 | ; session hijacking when not specifying and managing your own session id. It is
1369 | ; not the be-all and end-all of session hijacking defense, but it's a good start.
1370 | ; http://php.net/session.use-only-cookies
1371 | session.use_only_cookies = 1
1372 |
1373 | ; Name of the session (used as cookie name).
1374 | ; http://php.net/session.name
1375 | session.name = PHPSESSID
1376 |
1377 | ; Initialize session on request startup.
1378 | ; http://php.net/session.auto-start
1379 | session.auto_start = 0
1380 |
1381 | ; Lifetime in seconds of cookie or, if 0, until browser is restarted.
1382 | ; http://php.net/session.cookie-lifetime
1383 | session.cookie_lifetime = 0
1384 |
1385 | ; The path for which the cookie is valid.
1386 | ; http://php.net/session.cookie-path
1387 | session.cookie_path = /
1388 |
1389 | ; The domain for which the cookie is valid.
1390 | ; http://php.net/session.cookie-domain
1391 | session.cookie_domain =
1392 |
1393 | ; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript.
1394 | ; http://php.net/session.cookie-httponly
1395 | session.cookie_httponly =
1396 |
1397 | ; Handler used to serialize data. php is the standard serializer of PHP.
1398 | ; http://php.net/session.serialize-handler
1399 | session.serialize_handler = php
1400 |
1401 | ; Defines the probability that the 'garbage collection' process is started
1402 | ; on every session initialization. The probability is calculated by using
1403 | ; gc_probability/gc_divisor. Where session.gc_probability is the numerator
1404 | ; and gc_divisor is the denominator in the equation. Setting this value to 1
1405 | ; when the session.gc_divisor value is 100 will give you approximately a 1% chance
1406 | ; the gc will run on any give request.
1407 | ; Default Value: 1
1408 | ; Development Value: 1
1409 | ; Production Value: 1
1410 | ; http://php.net/session.gc-probability
1411 | session.gc_probability = 1
1412 |
1413 | ; Defines the probability that the 'garbage collection' process is started on every
1414 | ; session initialization. The probability is calculated by using the following equation:
1415 | ; gc_probability/gc_divisor. Where session.gc_probability is the numerator and
1416 | ; session.gc_divisor is the denominator in the equation. Setting this value to 1
1417 | ; when the session.gc_divisor value is 100 will give you approximately a 1% chance
1418 | ; the gc will run on any give request. Increasing this value to 1000 will give you
1419 | ; a 0.1% chance the gc will run on any give request. For high volume production servers,
1420 | ; this is a more efficient approach.
1421 | ; Default Value: 100
1422 | ; Development Value: 1000
1423 | ; Production Value: 1000
1424 | ; http://php.net/session.gc-divisor
1425 | session.gc_divisor = 1000
1426 |
1427 | ; After this number of seconds, stored data will be seen as 'garbage' and
1428 | ; cleaned up by the garbage collection process.
1429 | ; http://php.net/session.gc-maxlifetime
1430 | session.gc_maxlifetime = 1440
1431 |
1432 | ; NOTE: If you are using the subdirectory option for storing session files
1433 | ; (see session.save_path above), then garbage collection does *not*
1434 | ; happen automatically. You will need to do your own garbage
1435 | ; collection through a shell script, cron entry, or some other method.
1436 | ; For example, the following script would is the equivalent of
1437 | ; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
1438 | ; find /path/to/sessions -cmin +24 -type f | xargs rm
1439 |
1440 | ; Check HTTP Referer to invalidate externally stored URLs containing ids.
1441 | ; HTTP_REFERER has to contain this substring for the session to be
1442 | ; considered as valid.
1443 | ; http://php.net/session.referer-check
1444 | session.referer_check =
1445 |
1446 | ; Set to {nocache,private,public,} to determine HTTP caching aspects
1447 | ; or leave this empty to avoid sending anti-caching headers.
1448 | ; http://php.net/session.cache-limiter
1449 | session.cache_limiter = nocache
1450 |
1451 | ; Document expires after n minutes.
1452 | ; http://php.net/session.cache-expire
1453 | session.cache_expire = 180
1454 |
1455 | ; trans sid support is disabled by default.
1456 | ; Use of trans sid may risk your users' security.
1457 | ; Use this option with caution.
1458 | ; - User may send URL contains active session ID
1459 | ; to other person via. email/irc/etc.
1460 | ; - URL that contains active session ID may be stored
1461 | ; in publicly accessible computer.
1462 | ; - User may access your site with the same session ID
1463 | ; always using URL stored in browser's history or bookmarks.
1464 | ; http://php.net/session.use-trans-sid
1465 | session.use_trans_sid = 0
1466 |
1467 | ; Set session ID character length. This value could be between 22 to 256.
1468 | ; Shorter length than default is supported only for compatibility reason.
1469 | ; Users should use 32 or more chars.
1470 | ; http://php.net/session.sid-length
1471 | ; Default Value: 32
1472 | ; Development Value: 26
1473 | ; Production Value: 26
1474 | session.sid_length = 26
1475 |
1476 | ; The URL rewriter will look for URLs in a defined set of HTML tags.
1477 | ;