2) La subdivision PHP.
À l'origine, cette subdivision servait à mettre le gros du paramétrage de php, d'une manière hétéroclite, c'est-à-dire sans organisation. J'ai préféré, à la place, introduire la subdivision CORE (noyau) en conformité avec la présentation de la fonction phpinfo(), comme nous le verrons un peu plus loin.
Je laisse cette subdivision dans le fichier php.ini, même si elle se vide de la totalité de son paramétrage d'origine. On y placera tout ce qui ne rentre pas dans les autres subdivisions que nous détaillerons ci-après.
; ************************ ;
; ;
; Sphere "Rouge" ;
; ;
; ************************ ;
[PHP]
engine = On
last_modified =
xbithack =
Vous avez constaté que le titre de ce fichier est Sphère "Rouge". Son utilité n'est pas anodine car dans un autre didacticiel consacré à l'installation de ma version WampServer toute personnelle, j'ai ajouté une nouvelle fonction, que je nomme shpère, qui consiste à faire coexister différents environnements, incompatible entre eux.
4) Paramètrage des modules.
Tous les modules ne se présentent pas sous la forme d'une extension externe. Il existe des modules qui sont inclus dans php, donc à l'état natif. Le découpage du fichier "php.ini" se fera d'une part en mettant le nom du module entre crochet "[" et "]" et d'autre part en placant ci-après la liste des variables que l'on désire paramétrer. Il semble que chaque variable soit unique dans le fichier php.ini et que le nom du module entre crochet est juste un commentaire.
Afin que le fichier "php.ini" soit facilement lisible, nous avons trié les modules et les variables dans l'ordre alphabétique. Si un module n'est pas utilisé, ou ne contient aucun paramétrage apparant, il est quand même placé dans le fichier php.ini, juste pour indiquer sa présence.
Dans ce que va suivre, j'ai volontairement découpé chaque module afin de les isoler des autres afin de rendre la lecture plus facile.
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
[bcmath]
bcmath.scale = 0
[bz2]
[calendar]
[com_dotnet]
com.allow_dcom = true
com.autoregister_typelib = false
com.autoregister_verbose = true
com.autoregister_casesensitive = false
com.code_page = ""
com.typelib_file = ""
Le module "[core]" signifie "noyau" et est relatif au paramétrage des modules natifs de php. Nous y avons placé toutes les variables qui se trouvaient précédemment sous la désignation "[PHP]". Nous avons respécté la présentation produite par la fonction "phpinfo()".
Comme nous le voyons ci-après, j'ai séparé par une ligne blanche les groupes des paramètres ayant le même préfixe.
[Core]
allow_url_fopen = On
allow_url_include = Off
always_populate_raw_post_data = -1
arg_separator.input = "&"
arg_separator.output = "&"
asp_tags = Off
auto_append_file =
auto_globals_jit = On
auto_prepend_file =
browscap =
default_charset = ""
default_mimetype = "text/html"
disable_classes =
disable_functions =
display_errors = On
display_startup_errors = On
doc_root =
docref_ext =
docref_root =
enable_dl = Off
enable_post_data_reading = on
error_append_string =
error_log = "f:/Wamp/logs/php_error.log"
error_prepend_string =
error_reporting = E_ALL
exit_on_timeout = Off
expose_php = On
extension_dir = "f:/Wamp/bin/php/courant/ext/"
file_uploads = On
html_errors = On
ignore_repeated_errors = Off
ignore_repeated_source = Off
ignore_user_abort = off
implicit_flush = Off
include_path = "."
input_encoding =
internal_encoding =
log_errors = On
log_errors_max_len = 1024
mail.add_x_header = On
mail.force_extra_parameters =
mail.log = "f:/Wamp/logs/mail_error.log"
max_execution_time = 360
max_file_uploads = 20
max_input_nesting_level = 64
max_input_time = 360
max_input_vars = 2500
memory_limit = 128M
open_basedir =
output_buffering = 4096
output_encoding =
output_handler =
post_max_size = 128M
precision = 14
realpath_cache_size = 16K
realpath_cache_ttl = 120
register_argc_argv = Off
report_memleaks = On
report_zend_debug = On
request_order = "GP"
sendmail_from = artemus@jcz.fr
serialize_precision = 17
short_open_tag = Off
sql.safe_mode = Off
SMTP = smtp.neuf.fr
smtp_port = 25
sys_temp_dir =
track_errors = On
unserialize_callback_func =
upload_max_filesize = 128M
upload_tmp_dir = "f:/Wamp/tmp"
user_dir =
user_ini.cache_ttl = 300
user_ini.filename = ".user.ini"
variables_order = "GPCS"
windows.show_crt_warning = Off
xmlrpc_error_number = 0
xmlrpc_errors = Off
zend.detect_unicode = On
zend.enable_gc = On
zend.multibyte = On
zend.script_encoding =
Ci-après, il y a des modules sans paramétrage.
[ctype]
[curl]
[date]
date.timezone = Europe/Paris
[dom]
[enchant]
[ereg]
[exif]
[fileinfo]
[filter]
[ftp]
[gd]
[gettext]
[gmp]
[hash]
Pour le module "iconv", j'ai fait le choix d'utiliser la norme "UTF-8" comme jeu de caractères.
[iconv]
iconv.input_encoding = UTF-8
iconv.internal_encoding = UTF-8
iconv.output_encoding = UTF-8
[imap]
[interbase]
ibase.allow_persistent = 1
ibase.dateformat = "%Y-%m-%d"
ibase.default_db =
ibase.default_user =
ibase.default_password =
ibase.default_charset =
ibase.max_persistent = -1
ibase.max_links = -1
ibase.timeformat = "%H:%M:%S"
ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
[intl]
intl.default_locale = fr_FR
intl.error_level = E_WARNING
[json]
[ldap]
ldap.max_links = -1
[libxml]
[mbstring]
mbstring.http_input = pass
mbstring.http_output = pass
[mcrypt]
[mhash]
[mysql]
mysql.allow_local_infile = On
mysql.allow_persistent = On
mysql.cache_size = 2000
mysql.connect_timeout = 60
mysql.default_host =
mysql.default_password =
mysql.default_port = 3306
mysql.default_socket =
mysql.default_user =
mysql.max_links = -1
mysql.max_persistent = -1
mysql.trace_mode = Off
[mysqli]
mysqli.allow_local_infile = On
mysqli.allow_persistent = On
mysqli.cache_size = 2000
mysqli.default_host =
mysqli.default_port = 3306
mysqli.default_pw =
mysqli.default_socket =
mysqli.default_user =
mysqli.max_links = -1
mysqli.max_persistent = -1
mysqli.reconnect = Off
mysqli.rollback_on_cached_plink = Off
[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = On
[odbc]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.default_cursortype =
odbc.default_db =
odbc.default_pw =
odbc.default_user =
odbc.defaultbinmode = 1
odbc.defaultlrl = 4096
odbc.max_links = -1
odbc.max_persistent = -1
[openssl]
openssl.cafile =
openssl.capath =
[pcre]
[PDO]
[pdo_firebird]
[pdo_mysql]
pdo_mysql.cache_size = 2000
pdo_mysql.default_socket =
[pdo_odbc]
[pdo_pgsql]
[pdo_sqlite]
[pgsql]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.ignore_notice = Off
pgsql.log_notice = Off
pgsql.max_links = -1
pgsql.max_persistent = -1
[Phar]
phar.cache_list =
phar.readonly = On
phar.require_hash =
[reflection]
Pour le module "session", nous avons détaillé les paramètres concernant "upload_progress", c'est-à-dire la barre de progression.
[session]
session.auto_start = Off
session.cache_expire = 180
session.cache_limiter = nocache
session.cookie_domain =
session.cookie_httponly =
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_secure =
session.gc_divisor = 1000
session.gc_maxlifetime = 86400
session.gc_probability = 1
session.hash_bits_per_character = 5
session.hash_function = 0
session.name = PHPSESSID
session.referer_check =
session.save_handler = files
session.save_path = "f:/Wamp/tmp"
session.serialize_handler = php
session.upload_progress.cleanup = On
session.upload_progress.enabled = On
session.upload_progress.freq = "1%"
session.upload_progress.min_freq = "1"
session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"
session.upload_progress.prefix = "upload_progress_"
session.use_cookies = 1
session.use_only_cookies = 1
session.use_strict_mode = 0
session.use_trans_sid = 0
[shmop]
[simplexml]
[snmp]
[soap]
soap.wsdl_cache = 1
soap.wsdl_cache_dir = "/tmp"
soap.wsdl_cache_enabled = 1
soap.wsdl_cache_limit = 5
soap.wsdl_cache_ttl = 86400
[sockets]
[spl]
[sqlite3]
sqlite3.extension_dir =
[standard]
default_socket_timeout = 60
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
[tidy]
tidy.clean_output = Off
[tokenizer]
[wddx]
[xml]
[xmlreader]
[xmlrpc]
[xmlwriter]
[xsl]
Comme vu précédemment, nous déclarons ici le module "zend opcache".
[zend opcache]
opcache.blacklist_filename =
opcache.consistency_checks = 0
opcache.dups_fix = 0
opcache.enable = 1
opcache.enable_cli = 1
opcache.enable_file_override = 0
opcache.error_log = "f:/Wamp/logs/opcache_error.log"
opcache.fast_shutdown = 1
opcache.file_update_protection = 2
opcache.force_restart_timeout = 180
opcache.inherited_hack = 1
opcache.interned_string_buffer = 8
opcache.load_comments = 1
opcache.log_verbosity_level = 4
opcache.max_accelerated_files = 8000
opcache.max_file_size = 0
opcache.max_wasted_percentage = 5
opcache.memory_consumption = 300
opcache.mmap_base =
opcache.optimization_level = 0xffffffff
opcache.preferred_memory_model =
opcache.protect_memory = 0
opcache.restrict_api =
opcache.revalidate_freq = 60
opcache.revalidate_path = 0
opcache.save_comments = 1
opcache.use_cwd = 1
opcache.validate_timestamps = 1
[zip]
[zlib]
zlib.output_compression = Off