Su un LAMP server apache e mariadb con più versioni php installate a volte è necessario diversificare la versione php e php-fpm in uso per i singoli progetti
- Verifica dei requisiti
# Verifica le versioni PHP installatels /etc/php/
# Controlla se i servizi FPM sono attivisystemctl status php8.2-fpm php8.3-fpm
# Verifica i moduli Apache abilitatiapache2ctl -M | grep -E 'proxy_fcgi|setenvif'
- Se vedi
proxy_fcgi_moduleesetenvif_modulenella lista, Apache è pronto. - Se
php8.2-fpmephp8.3-fpmsono attivi, FPM è configurato correttamente.
- Conferma dei socket pfm
Ogni versione PHP-FPM usa un socket Unix separato. Verifica i percorsi:
ls /run/php/php*.sock
Dovresti vedere:
/run/php/php8.2-fpm.sock/run/php/php8.3-fpm.sock
Se manca un socket riavvia il servizio corrispondente:
sudo systemctl restart php8.2-fpm
Se i prerequisiti son ferificati basta spcificare nel file .conf del progetto presenti dentro la directory "site-available"
<FilesMatch "\.php$"> SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost"</FilesMatch>
ad esempio, se il file conf si chiama drupal.conf conterrà:
<VirtualHost *:80> ServerName drupal.tuodominio.it DocumentRoot /var/www/drupal/web
<FilesMatch "\.php$"> SetHandler "proxy:unix:/run/php/php8.2-fpm.sock|fcgi://localhost" </FilesMatch></VirtualHost>
infine abilita il sito e riavvia Apache:
sudo a2ensite drupal82.confsudo systemctl restart apache2