Translations of this page?:

PHP Configuration for DokuWiki

DokuWiki will run out of the box on nearly every PHP installation and the installer will take that the minimum of needed PHP functionality is available.

This page gives hints on how to tune PHP settings to influence the functionality, performance, security and portability of DokuWiki.

Please consult the online PHP manual for more details.

php.ini

The basic means of configuring PHP is via a configuration file (php.ini).

For the server module versions of PHP, this file is loaded only once when the web server is started. For the CGI and CLI version, it happens on every invocation.

This file contains a list of directives that control the way that PHP functions. You can see the online php.ini directives page for a detailed reference of those directives.

While in most cases, DokuWiki will operate “out-of-the-box” with typical distribution PHP settings, a number of configuration options has particular importance to DokuWiki.

On the other hand, always be warned that what may be a good or even suggested value for DokuWiki might in some cases break other PHP applications you also host. This is especialy true when enabling directives that enhance PHP security while having other PHP applications that rely on insecure features of PHP like register_globals etc.

register_globals

Controls if any passed CGI parameters will be registered as global variable automatically instead of ebeing available through $_GET, $_POST or $_REQUEST only. Enabling this often leads to security problems.

DokuWiki will run with register_globals set to off.

  • Suggested: register_globals = Off

short_open_tag

Allow the <? tag. Otherwise, only <?php and <script> tags are recognized.

DokuWiki will run with short_open_tag set to off.

  • Suggested: short_open_tag = Off

However, note that some templates or plugins might rely on this feature being set to On.

safe_mode

Safe Mode attempts to solve the shared-server security problem by restricting/disabling certain PHP functions.

DokuWiki will run even with safe_mode set to off.

However, depending on your hosters configuration you may need to use the safemodehack option.

If in doubt, or when troubleshooting, start with safe_mode = Off.

output_buffering

Output buffering allows you to send header lines (including cookies) even after you send body content. DokuWiki will run with either setting.

  • Suggested: output_buffering = Off

output_handler

Redirect all the output of all scripts to a function. Setting output_handler automatically turns on output_buffering.

This settng can be used to automatically gzip all content before sending it to the client's browser. This can create problems with images and downloads. Turn on DokuWiki's gzip_output feature instead.

  • Suggested: output_handler =

zlib.output_compression

Provides transparent output compression using the zlib library. In general setting zlib.output_compression = On works quite well with DokuWiki.

However, DokuWiki supports output compression via the gzip_output option.

  • Suggested: output_handler = Off

implicit_flush

Tells PHP to tell the output layer to flush itself automatically after every output block. Turning this option on has serious performance implications and is generally recommended for debugging purposes only. DokuWiki takes care of flushing the buffer when needed.

  • Suggested: implicit_flush = Off

allow_call_time_pass_reference

Whether to warn when arguments are passed by reference at function call time, as this method is deprecated. Arguments that should be passed by reference should be indicated in the function declaration, not at function call time.

  • Suggested: allow_call_time_pass_reference = Off

max_execution_time

Maximum execution time of each script, in seconds.

  • Suggested: max_execution_time = 30

max_input_time

Maximum amount of time each script may spend parsing request data.

  • Suggested: max_input_time = 60

memory_limit

Maximum amount of memory a script may consume.

  • Suggested: memory_limit = 32M

error_reporting

Which errors to report.

  • Suggested: error_reporting = E_ALL & ~E_NOTICE

display_errors

Print out errors (as a part of the output). For production web sites, you're strongly encouraged to turn this feature off, and use error logging instead.

  • Suggested: display_errors = Off

display_startup_errors

Print out errors that occur during PHP's startup sequence (display_errors has no control over these). It's strongly recommended to keep display_startup_errors off, except for when debugging.

  • Suggested: display_startup_errors = Off

log_errors

Log errors into a log file. Also set error_log accordingly.

  • Suggested: log_errors = On

variables_order

The order in which PHP registers GET, POST, Cookie, Environment and Built-in variables (G, P, C, E & S respectively).

  • Suggested: variables_order = “EGPCS”

register_argc_argv

Whether to declare the argv & argc variables (that would contain the GET information).

  • Suggested: register_argc_argv = Off

Magic Quotes

Magic Quotes is a process that automagically escapes incoming data to the PHP script. It's preferred to code with magic quotes off and to instead escape the data at runtime, as needed.

DokuWiki will detect the used settings and will handle the given values as needed. However disabling these options is recommended.

magic_quotes_gpc

Affects HTTP Request data (GET, POST, and Cookie).

  • Suggested: magic_quotes_gpc = Off

magic_quotes_runtime

If enabled, most functions that return data from an external source, including databases and text files (SQL, from exec(), etc), will have quotes escaped with a backslash.

  • Suggested: magic_quotes_runtime = Off

magic_quotes_sybase

Use Sybase-style magic quotes (a single-quote is escaped with a single-quote instead of a backslash).

  • Suggested: magic_quotes_sybase = Off

file_uploads

Whether to allow HTTP file uploads.

  • Suggested: file_uploads = On

upload_max_filesize

Maximum allowed size for uploaded files. It should match what you expect the maximum size of uploaded mediafiles to be.

session.use_cookies

Whether to use cookies.

  • Suggested: session.use_cookies = 1

extension

Dynamic Extensions.

GD

PHP's GD extension for use with libGD 2 (a graphics library) is recommended but not needed. When available it will be used for resizing images.

 
install/php.txt · Last modified: 2008/10/24 09:49 by 220.255.7.169
 

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported

Imprint Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
WikiForumIRCBugsDarcsXRefTranslate