20 PHP-Tuning (Custom-INI)
PHP-Tuning per Custom-INI
Die haeufigsten PHP-Werte (Memory, OPcache, APCu) sind pro Hostname konfigurierbar. Manche haben eigene Formularfelder, den Rest setzt du im Custom-INI-Textblock.
Wo?
Admin-Panel → Subscription → Bearbeiten → Tab Hostnames → beim gewuenschten Hostname aufklappen.
Direkte Formularfelder (kein Custom-INI noetig):
- PHP Memory Limit (
memory_limit, z.B.1024M) - Upload Max Filesize (
upload_max_filesize) - Post Max Size (
post_max_size) - Max Execution Time (
max_execution_time) - Max Input Vars (
max_input_vars)
Alles andere → Custom-INI-Textblock.
Copy-&-Paste-Snippets
Grosse Symfony/Shopware/Laravel-Anwendung
memory_limit = 1024M
opcache.memory_consumption = 256
opcache.max_accelerated_files = 20000
opcache.revalidate_freq = 0
opcache.validate_timestamps = 1
apcu.shm_size = 128M
realpath_cache_size = 4096K
realpath_cache_ttl = 600
WordPress mit vielen Plugins
memory_limit = 512M
opcache.memory_consumption = 192
opcache.max_accelerated_files = 15000
apcu.shm_size = 64M
Produktion (Deploy-basiert, kein File-Watcher noetig)
opcache.validate_timestamps = 0
opcache.enable_cli = 1
validate_timestamps = 0heisst: nach Code-Aenderungen musst du PHP neu laden (docker compose exec app apache2ctl graceful— oder wir exponieren dafuer noch einen Button im Admin). Bringt spuerbar Performance.
Sessions in APCu statt Dateien (kleine Latenz, kein Disk-IO)
session.save_handler = files
session.save_path = /tmp
; ODER (schneller, braucht apcu):
; session.save_handler = apcu
Whitelist — was ist erlaubt?
Der Custom-INI-Block wird beim Speichern gefiltert. Erlaubt sind unter anderem:
memory_limit,max_execution_time,max_input_timepost_max_size,upload_max_filesize,max_input_vars,max_file_uploadsdate.timezone,default_charset,intl.default_localedisplay_errors,display_startup_errors,log_errors,error_reportingsession.gc_maxlifetime,session.cookie_lifetime,session.cookie_secure,session.cookie_httponly,session.cookie_samesitedefault_socket_timeout,realpath_cache_size,realpath_cache_ttloutput_buffering,output_compressionmail.add_x_headeropcache.*— alle OPcache-Einstellungenapcu.*— alle APCu-Einstellungengd.*— GD-Bibliothek
Alles andere wird verworfen (mit Hinweis im Speicher-Feedback).
Was kann ich abfragen?
phpinfo() in einem PHP-File — zeigt alle aktiven Werte. Aber:
Achtung:
phpinfo()-Ausgabe niemals oeffentlich stehen lassen (nur kurz aufrufen, dann sofort loeschen oder mit.htaccessblocken). Sie enthaelt viele interne Umgebungs-Details.