PHP

PHP è il runtime per eseguire applicazioni web scritte in PHP, inclusi framework come Laravel, Symfony e CMS come WordPress. Kuboide include anche Composer per la gestione delle dipendenze e WP-CLI per la gestione di WordPress.

Cos'è PHP in Kuboide

Il servizio PHP include:

  • PHP-FPM: FastCGI Process Manager per alte prestazioni
  • Composer: Gestore di dipendenze PHP
  • WP-CLI: Interfaccia a riga di comando per WordPress
  • Estensioni preinstallate: PDO, MySQLi, GD, Redis, e molte altre

Configurazione Base

Campo Descrizione
Enabled Attiva o disabilita il runtime PHP
PHP Version Versione di PHP da utilizzare

Configurazione Composer

Campo Descrizione
Enable Composer Attiva Composer per la gestione dipendenze
Composer Version Versione di Composer da utilizzare

Configurazione WP-CLI

Campo Descrizione
Enable WP-CLI Attiva WP-CLI per gestione WordPress
WP-CLI Version Versione di WP-CLI da utilizzare

Configurazione Docker

Campo Descrizione
CPU Cores Limit Limite CPU per il container
Memory Limit (MB) Limite memoria per il container in MB

File di Configurazione

File Descrizione
php.ini Configurazione principale di PHP (limiti memoria, upload, etc.)
php-fpm.conf Configurazione globale di PHP-FPM
www.conf Configurazione del pool PHP-FPM
Dockerfile File Docker per la build dell'immagine

php.ini

Il file php.ini contiene le impostazioni principali:

  • memory_limit: Memoria massima per script
  • upload_max_filesize: Dimensione massima upload
  • max_execution_time: Timeout esecuzione script
  • display_errors: Visualizzazione errori (disabilitare in produzione)

Connessione da Nginx

Nginx comunica con PHP-FPM tramite FastCGI:

  • Host: php
  • Porta: 9000

Versioni PHP Supportate

Versione Stato Note
8.3 Attiva Ultima versione stabile, consigliata
8.2 Attiva Versione LTS
8.1 Attiva Supporto sicurezza
8.0 Fine vita Non consigliata per nuovi progetti
7.4 Fine vita Solo per legacy, aggiornare appena possibile

Best Practices

  1. Usa la versione PHP più recente compatibile con la tua applicazione
  2. Configura memory_limit in base alle esigenze dell'applicazione
  3. Imposta upload_max_filesize appropriato per gli upload previsti
  4. Abilita opcache per migliorare le prestazioni (già configurato di default)
  5. Disabilita display_errors in produzione

Prossimi Passi

  • Nginx - Configura il web server
  • MySQL - Database per applicazioni PHP
  • Redis - Cache e gestione sessioni