Modificare le impostazioni PHP
ServBay include un ambiente PHP e offre opzioni di configurazione flessibili. Questo documento spiegherà in dettaglio come modificare le impostazioni PHP in ServBay, inclusa la posizione dei file php.ini
e php-fpm.conf
e le impostazioni comuni. A seconda della versione di PHP, questi file si trovano nella directory /Applications/ServBay/etc/php/<version>
. Inoltre, i file di configurazione del caricamento dei moduli PHP (come xdebug.ini
) si trovano nella directory /Applications/ServBay/etc/php/<version>/conf.d
.
Nota importante
Si prega di non modificare manualmente i file di configurazione. Tutti i file di configurazione sono generati automaticamente da ServBay, e le modifiche manuali possono essere sovrascritte. Modificare tramite l'interfaccia utente.
Panoramica
In ServBay, i file di configurazione di PHP sono archiviati in directory diverse a seconda della versione. Ad esempio, i file di configurazione per PHP 8.3 si trovano nella directory /Applications/ServBay/etc/php/8.3
. Ecco la posizione dettagliata di questi file:
php.ini
:/Applications/ServBay/etc/php/8.3/php.ini
php-fpm.conf
:/Applications/ServBay/etc/php/8.3/php-fpm.conf
- File di configurazione del caricamento dei moduli PHP:
/Applications/ServBay/etc/php/8.3/conf.d/
Modificare tramite l'interfaccia utente di ServBay
ServBay dispone di una potente interfaccia di gestione grafica. Gli utenti possono modificare direttamente vari parametri di configurazione tramite l'interfaccia di gestione. Una volta salvate le modifiche, vengono applicate automaticamente e diventano effettive in tempo reale, evitando la necessità di modificare manualmente i parametri.
Sul lato sinistro della navigazione, apri linguaggio
, seleziona la versione di PHP che desideri modificare e vedrai il menu di modifica a destra. Un'interfaccia tipica appare come segue
L'interfaccia è suddivisa in 3 diverse categorie di configurazione che corrispondono alla configurazione di PHP-FPM, PHP e moduli PHP. Verranno spiegate ciascuna nel dettaglio.
PHP FPM
Suggerimento
Il php-fpm.conf
riguarda le prestazioni dell'esecuzione di PHP nei servizi web, e tutte le configurazioni hanno la precedenza (sovrascrivono) su quelle nel php.ini
.
Tuttavia, queste impostazioni non influenzeranno l'esecuzione del codice in cli.
Per primo c'è l'interfaccia di configurazione PHP FPM. Sia che si usi Caddy che NGINX, il PHP nei servizi web di ServBay è eseguito in modalità FPM. In questa interfaccia, puoi configurare il numero di processi FPM, i limiti di memoria, il livello di errore del log, se mostrare le informazioni di errore nel browser, ecc.
Ad esempio, se vogliamo modificare il Memory Limit
da 64M a 1G nel Web, basta sceglierlo dal menu a tendina del Memory Limit
e salvarlo. Questa modifica non influenzerà la configurazione nel php.ini
, e l'esecuzione di script PHP in modalità cli sarà ancora sotto il controllo di php.ini
.
Se il Memory Limit
configurato nel php.ini
è 512M
mentre nel PHP FPM
è 128M
, lo stesso script avrà a disposizione 512M di memoria in cli e 128M di memoria nel Web.
php.ini
Suggerimento
Le impostazioni di php.ini
sono globali e si applicano al comportamento in cli e nel Web. Tuttavia, le impostazioni di php.ini
potrebbero essere sovrascritte da php-fpm.conf
nel Web.
La parte della configurazione PHP corrisponde alle impostazioni in php.ini
, che è il file di configurazione principale di PHP.
Qui, puoi configurare la maggior parte delle opzioni di php.ini
, come la post_max_size
che influenza i moduli post e upload_max_filesize
che riguarda la dimensione massima dei file di upload. Ci sono anche opzioni come disable_functions
e disable_classes
per disabilitare funzioni e classi.
Nota che, poiché le impostazioni sono globali, se vuoi impostare open_basedir
, ti consigliamo di collocare tutti i progetti del sito web in /Applications/ServBay/www
, in modo da evitare di dover configurare più directory quando imposti open_basedir
.
Per un elenco dettagliato dei campi di configurazione, consulta la documentazione ufficiale di php.ini.
Moduli Esterni
ServBay include numerosi moduli esterni PHP comunemente usati, come xDebug
, OPcache
, Image Magick
, Redis
, MongoDB
, Phalcon
, Swoole
, ecc. Per un elenco dettagliato dei moduli, consulta Elenco dei moduli PHP.
L'abilitazione dei moduli esterni PHP è molto semplice, basta cliccare sull'interruttore e poi su salva. Per moduli come xDebug che hanno ulteriori opzioni di configurazione, è anche molto facile modificare direttamente i parametri di configurazione.
Modifiche tramite l'editing manuale dei file di configurazione
WARNING
L'editing manuale dei file di configurazione è adatto solo per modifiche temporanee di alcuni parametri di configurazione.
Non consigliamo di modificare i file di configurazione PHP manualmente, poiché tutte le modifiche possono essere sovrascritte da ServBay.
Configurazione di php.ini
Il file php.ini
è il principale file di configurazione di PHP ed è usato per impostare varie opzioni di runtime di PHP.
Impostazioni comuni
Di seguito sono riportate alcune comuni impostazioni di php.ini
e le loro modalità di modifica:
Modifica del limite di memoria:
memory_limit = 256M
1Modifica del limite di dimensione dei file di upload:
upload_max_filesize = 50M post_max_size = 50M
1
2Modifica dell'impostazione del fuso orario:
date.timezone = "Asia/Hong_Kong"
1Abilitare la visualizzazione degli errori:
display_errors = On error_reporting = E_ALL
1
2Modifica del tempo massimo di esecuzione:
max_execution_time = 300
1
Configurazione di php-fpm.conf
Il file php-fpm.conf
è utilizzato per configurare i parametri di esecuzione di PHP-FPM (FastCGI Process Manager).
Impostazioni comuni
Di seguito sono riportate alcune comuni impostazioni di php-fpm.conf
e le loro modalità di modifica:
Modifica delle impostazioni del pool di processi:
[www] listen = /Applications/ServBay/tmp/php-cgi-8.3.sock listen.backlog = -1 listen.allowed_clients = 127.0.0.1 ;listen.owner = www ;listen.group = www listen.mode = 0666 ;user = www ;group = www pm = dynamic pm.max_children = 10 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 6 pm.max_requests = 1024 pm.process_idle_timeout = 10s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16Abilitare il log lento:
request_slowlog_timeout = 5s slowlog = /Applications/ServBay/logs/php/8.3/slow.log
1
2Modifica del percorso del log errori:
error_log = /Applications/ServBay/logs/php/8.3/errors.log
1
Configurazione del caricamento dei moduli PHP
I file di configurazione del caricamento dei moduli PHP si trovano nella directory /Applications/ServBay/etc/php/8.3/conf.d/
. Ad esempio, il file xdebug.ini
è usato per configurare l'estensione Xdebug.
Esempio di xdebug.ini
Di seguito è riportato un esempio di file xdebug.ini
:
[Xdebug]
; Uncomment the following line to enable XDebug
zend_extension = xdebug.so
xdebug.mode=debug,develop
xdebug.start_with_request=yes
xdebug.client_host=localhost
xdebug.client_port=39083
xdebug.log=/Applications/ServBay/logs/xdebug/8.3/xdebug.log
2
3
4
5
6
7
8
Riavvio di PHP
Dopo aver modificato i file di configurazione PHP, è necessario riavviare il servizio PHP affinché le modifiche abbiano effetto. Può essere fatto tramite l'interfaccia di gestione di ServBay o utilizzando lo strumento a riga di comando servbayctl
.
Riavviare tramite l'interfaccia di gestione di ServBay
- Apri l'interfaccia di gestione di ServBay.
- Vai su
servizi
. - Trova il servizio PHP della versione corrispondente e clicca sul pulsante
riavvia
.
Riavviare tramite servbayctl
Usare lo strumento a riga di comando servbayctl
per riavviare facilmente il servizio PHP:
servbayctl restart php 8.3
Conclusione
In ServBay, i file di configurazione di PHP si trovano nella directory /Applications/ServBay/etc/php/<version>
, inclusi php.ini
e php-fpm.conf
. I file di configurazione del caricamento dei moduli PHP si trovano nella directory /Applications/ServBay/etc/php/<version>/conf.d/
. Dopo aver modificato questi file di configurazione, è possibile riavviare il servizio PHP tramite l'interfaccia di gestione di ServBay o utilizzando lo strumento a riga di comando servbayctl
per rendere effettive le modifiche.