[PHP] ; ===================================================================== ; php.ini de PRODUCTION — version adaptée (boulangerie, ZI Consultation) ; Toutes les directives actives de votre fichier d'origine sont reprises. ; Les lignes modifiées ou ajoutées sont signalées par « ; MODIFIÉ » ou « ; AJOUTÉ ». ; Les longs commentaires d'origine (en anglais) ont été retirés pour la lisibilité. ; ===================================================================== ;;;;;;;;;;;;;;;;;;;; ; Langage ; ;;;;;;;;;;;;;;;;;;;; engine = On short_open_tag = Off precision = 14 output_buffering = 4096 zlib.output_compression = Off implicit_flush = Off unserialize_callback_func = serialize_precision = -1 disable_functions = zend.enable_gc = On zend.exception_ignore_args = On zend.exception_string_param_max_len = 0 realpath_cache_size = 4096k ; AJOUTÉ : accélère l'ouverture des nombreux fichiers PHP realpath_cache_ttl = 600 ; AJOUTÉ ;;;;;;;;;;;;;;;;;;;; ; Divers ; ;;;;;;;;;;;;;;;;;;;; expose_php = Off ; MODIFIÉ (On) : ne pas annoncer la version de PHP aux navigateurs ;;;;;;;;;;;;;;;;;;;; ; Limites ; ;;;;;;;;;;;;;;;;;;;; max_execution_time = 300 ; MODIFIÉ (30) : sauvegardes, PDF, mises à jour, gros rapports max_input_time = 300 ; MODIFIÉ (60) : envoi de gros fichiers (vidéos, sauvegardes) max_input_vars = 5000 ; AJOUTÉ (1000) : formulaires longs (inventaire, droits, billetage) memory_limit = 512M ; MODIFIÉ (128M) : PDF (dompdf), exports, sauvegardes max_memory_limit = -1 ;;;;;;;;;;;;;;;;;;;; ; Erreurs ; ;;;;;;;;;;;;;;;;;;;; error_reporting = E_ALL & ~E_DEPRECATED display_errors = Off display_startup_errors = Off log_errors = On ignore_repeated_errors = Off ignore_repeated_source = Off ; Journal des erreurs : laissez la valeur de WAMP si elle existe déjà, sinon décommentez ;error_log = "c:/wamp64/logs/php_error.log" ;;;;;;;;;;;;;;;;;;;; ; Données ; ;;;;;;;;;;;;;;;;;;;; variables_order = "GPCS" request_order = "GP" auto_globals_jit = On post_max_size = 256M ; MODIFIÉ (8M) : doit rester SUPÉRIEUR à upload_max_filesize auto_prepend_file = auto_append_file = default_mimetype = "text/html" default_charset = "UTF-8" ;;;;;;;;;;;;;;;;;;;; ; Chemins ; ;;;;;;;;;;;;;;;;;;;; doc_root = user_dir = ; Dossier des extensions : WAMP le règle en général lui-même. Si Apache affiche ; « Unable to load dynamic library », indiquez le chemin complet, par exemple : ;extension_dir = "c:/wamp64/bin/php/php8.x.x/ext/" enable_dl = Off ;;;;;;;;;;;;;;;;;;;; ; Envoi de fichiers; ;;;;;;;;;;;;;;;;;;;; file_uploads = On upload_max_filesize = 200M ; MODIFIÉ (2M) : vidéos de l'écran clients, logos, restauration de sauvegardes max_file_uploads = 50 ; MODIFIÉ (20) ;;;;;;;;;;;;;;;;;;;; ; Accès réseau ; ;;;;;;;;;;;;;;;;;;;; allow_url_fopen = On allow_url_include = Off default_socket_timeout = 120 ; MODIFIÉ (60) : API WhatsApp, e-mails, sites distants du multi-sites ;;;;;;;;;;;;;;;;;;;; ; Extensions ; ;;;;;;;;;;;;;;;;;;;; ; ACTIVÉES : toutes celles qui fonctionnent sans logiciel supplémentaire sous Windows. extension=bz2 extension=curl ; appels HTTP (WhatsApp, API, multi-sites) extension=exif ; photos (orientation des images envoyées) extension=fileinfo ; contrôle du type réel des fichiers envoyés extension=ftp extension=gd ; images : logos, codes-barres, miniatures, PDF extension=gettext extension=gmp extension=intl ; dates et nombres en français extension=mbstring ; textes accentués (UTF-8) : indispensable extension=mysqli extension=odbc ; déjà active : base HFSQL (ZI Consultation) extension=openssl ; https, e-mails SMTP sécurisés, chiffrement extension=pdo_mysql ; indispensable : application boulangerie (MySQL) extension=pdo_odbc extension=pdo_sqlite extension=shmop extension=soap extension=sockets extension=sodium ; chiffrement moderne extension=sqlite3 extension=tidy extension=xsl extension=zip ; sauvegardes, mises à jour de l'application, exports ; LAISSÉES DÉSACTIVÉES (volontairement) : ;extension=ffi ; permet d'exécuter du code machine depuis PHP : risque de sécurité, inutile ici ;extension=ldap ; annuaire d'entreprise (Active Directory) : non utilisé ;extension=pdo_firebird ; nécessite le client Firebird (fbclient.dll) : sinon erreur au démarrage ;extension=pgsql ; PostgreSQL : non utilisé, nécessite libpq.dll accessible ;extension=pdo_pgsql ; idem ;extension=snmp ; nécessite les fichiers MIBS installés séparément ;;;;;;;;;;;;;;;;;;;; ; Réglages modules ; ;;;;;;;;;;;;;;;;;;;; [CLI Server] cli_server.color = On [Date] date.timezone = Africa/Ouagadougou ; AJOUTÉ : heure du Burkina Faso pour toutes les dates (ventes, clôtures, sauvegardes) [intl] intl.default_locale = fr_FR ; AJOUTÉ [Pdo_mysql] pdo_mysql.default_socket= [mail function] SMTP = localhost smtp_port = 25 mail.add_x_header = Off mail.mixed_lf_and_crlf = Off mail.cr_lf_mode = crlf [ODBC] odbc.allow_persistent = On odbc.check_persistent = On odbc.max_persistent = -1 odbc.max_links = -1 odbc.defaultlrl = 65536 ; MODIFIÉ (4096) : champs texte longs HFSQL lus en entier (observations, adresses) odbc.defaultbinmode = 1 [MySQLi] mysqli.max_persistent = -1 mysqli.allow_persistent = On mysqli.max_links = -1 mysqli.default_port = 3306 mysqli.default_socket = mysqli.default_host = mysqli.default_user = mysqli.default_pw = [mysqlnd] mysqlnd.collect_statistics = On mysqlnd.collect_memory_statistics = Off [PostgreSQL] pgsql.allow_persistent = On pgsql.auto_reset_persistent = Off pgsql.max_persistent = -1 pgsql.max_links = -1 pgsql.ignore_notice = 0 pgsql.log_notice = 0 [bcmath] bcmath.scale = 0 [Session] session.save_handler = files session.use_strict_mode = 1 ; MODIFIÉ (0) : refuse les identifiants de session inventés session.use_cookies = 1 session.use_only_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.cookie_domain = session.cookie_httponly = 1 ; MODIFIÉ (vide) : cookie de session illisible par JavaScript session.cookie_samesite = "Lax" ; MODIFIÉ (vide) : protection contre les requêtes forgées session.serialize_handler = php session.gc_probability = 1 session.gc_divisor = 1000 session.gc_maxlifetime = 28800 ; MODIFIÉ (1440 = 24 min) : 8 h ; l'application gère elle-même la déconnexion après inactivité session.referer_check = session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 0 session.trans_sid_tags = "a=href,area=href,frame=src,form=" [Assertion] zend.assertions = -1 [Tidy] tidy.clean_output = Off [soap] soap.wsdl_cache_enabled=1 soap.wsdl_cache_dir="/tmp" soap.wsdl_cache_ttl=86400 soap.wsdl_cache_limit = 5 [ldap] ldap.max_links = -1 [opcache] ; AJOUTÉ : cache du code PHP compilé, pages nettement plus rapides. ; validate_timestamps reste à 1 : une mise à jour de l'application est prise en compte en 2 secondes au plus. opcache.enable=1 opcache.enable_cli=0 opcache.memory_consumption=128 opcache.interned_strings_buffer=16 opcache.max_accelerated_files=20000 opcache.validate_timestamps=1 opcache.revalidate_freq=2