Modificación de la configuración de PHP
ServBay incluye un entorno PHP y proporciona opciones de configuración flexibles. Este artículo detalla cómo modificar la configuración de PHP en ServBay, incluyendo las ubicaciones de los archivos php.ini
y php-fpm.conf
y los elementos de configuración comunes. Dependiendo de la versión de PHP, estos archivos se encuentran en el directorio /Applications/ServBay/etc/php/<version>
. Además, los archivos de configuración de carga de módulos PHP (como xdebug.ini
) están ubicados en el directorio /Applications/ServBay/etc/php/<version>/conf.d
.
Aviso importante
Por favor, no modifique manualmente los archivos de configuración. Todos los archivos de configuración son generados automáticamente por ServBay y pueden ser sobrescritos. Haga los cambios a través de la interfaz de usuario.
Resumen
En ServBay, los archivos de configuración de PHP se almacenan en diferentes directorios según la versión. Por ejemplo, los archivos de configuración para PHP 8.3 se encuentran en el directorio /Applications/ServBay/etc/php/8.3
. Las ubicaciones detalladas de estos archivos de configuración son:
php.ini
:/Applications/ServBay/etc/php/8.3/php.ini
php-fpm.conf
:/Applications/ServBay/etc/php/8.3/php-fpm.conf
- Archivos de configuración de carga de módulos PHP:
/Applications/ServBay/etc/php/8.3/conf.d/
Modificación a través de la interfaz de usuario de ServBay
ServBay cuenta con una potente interfaz gráfica de gestión que permite a los usuarios modificar directamente diferentes parámetros de configuración. Una vez guardados, los cambios se aplican automáticamente y entran en vigor inmediatamente, evitando la molestia de editar manualmente los parámetros.
En la navegación a la izquierda, abra Lenguaje
y seleccione la versión de PHP que necesita modificar. En la derecha verá un menú de edición. Una interfaz típica es la siguiente:
En la interfaz, se divide en 3 elementos de configuración diferentes, correspondiendo a configurar PHP-FPM, PHP, y los módulos PHP. A continuación se explicará cada uno.
PHP FPM
Sugerencia
El archivo php-fpm.conf
corresponde al rendimiento de la ejecución de PHP en el servicio web; todas las configuraciones prevalecerán sobre las del archivo php.ini
.
Sin embargo, la configuración aquí no afectará el comportamiento del código en el modo cli.
Primero está la interfaz de configuración de PHP FPM. Ya sea Caddy o NGINX, PHP en el servicio web de ServBay se ejecuta en modo FPM. En esta interfaz, puedes configurar la cantidad de procesos FPM, límites de memoria, nivel de error de log, si mostrar mensajes de error en el navegador, etc.
Por ejemplo, si deseamos cambiar el Memory Limit
en la web de 64M a 1G, simplemente seleccionamos 1G
en el menú desplegable de Memory Limit
y guardamos. Este cambio no afectará la configuración del archivo php.ini
, por lo que al ejecutar scripts PHP en modo cli, seguirá estando controlado por php.ini
.
Supongamos que la configuración del Memory Limit
en php.ini
es 512M
y en PHP FPM
es 128M
, entonces el mismo script ejecutado en modo cli puede usar 512M de memoria, mientras que en la web puede usar 128M.
php.ini
Sugerencia
La configuración del archivo php.ini
es global, afectando tanto al cli como al comportamiento en la web. Sin embargo, las configuraciones de php.ini
podrían ser sobrescritas por php-fpm.conf
en la web.
La sección de configuración de PHP corresponde a los elementos de configuración en php.ini
, que es el archivo de configuración central de PHP.
Aquí puedes configurar la mayoría de las opciones de php.ini
, como post_max_size
que afecta el tamaño de los formularios post y upload_max_filesize
que afecta el tamaño máximo de los archivos subidos. También las funciones deshabilitadas disable_functions
y disable_classes
, entre otras.
Cabe destacar que, dado que la configuración es global, si vas a establecer open_basedir
, se recomienda ubicar todos los proyectos del sitio web en /Applications/ServBay/www
. Así, al configurar open_basedir
, se puede evitar establecer múltiples directorios.
Para configuraciones detalladas, consulte la documentación oficial de php.ini.
Módulos de extensión
ServBay incluye numerosos módulos de extensión PHP comunes, como xDebug
, OPcache
, Image Magick
, Redis
, MongoDB
, Phalcon
, Swoole
, etc. Para ver la lista detallada de módulos, consulte Lista de módulos de extensión PHP.
Habilitar los módulos de extensión PHP es muy sencillo, basta con hacer clic en el interruptor y luego en guardar. Para módulos como xDebug que tienen configuraciones adicionales, también se pueden modificar fácilmente.
Modificación mediante edición manual de los archivos de configuración
WARNING
La edición manual de los archivos de configuración solo es adecuada para hacer cambios temporales en algunos elementos de configuración.
No recomendamos modificar manualmente los archivos de configuración de PHP, ya que todos los cambios pueden ser sobrescritos por ServBay.
Configuración de php.ini
El archivo php.ini
es el archivo de configuración principal de PHP y se utiliza para establecer diversas opciones de tiempo de ejecución.
Elementos de configuración comunes
A continuación se presentan algunos elementos comunes de configuración de php.ini
y cómo modificarlos:
Modificar límite de memoria:
memory_limit = 256M
1Modificar el tamaño máximo de carga de archivos:
upload_max_filesize = 50M post_max_size = 50M
1
2Modificar la configuración de la zona horaria:
date.timezone = "Asia/Hong_Kong"
1Habilitar la visualización de errores:
display_errors = On error_reporting = E_ALL
1
2Modificar el tiempo máximo de ejecución:
max_execution_time = 300
1
Configuración de php-fpm.conf
El archivo php-fpm.conf
se utiliza para configurar los parámetros de ejecución del Administrador de Procesos FastCGI (PHP-FPM).
Elementos de configuración comunes
A continuación se presentan algunos elementos comunes de configuración de php-fpm.conf
y cómo modificarlos:
Modificar la configuración del grupo de procesos:
[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
16Habilitar el registro de procesos lentos:
request_slowlog_timeout = 5s slowlog = /Applications/ServBay/logs/php/8.3/slow.log
1
2Modificar la ruta de los registros de errores:
error_log = /Applications/ServBay/logs/php/8.3/errors.log
1
Configuración de carga de módulos PHP
Los archivos de configuración de carga de módulos PHP se encuentran en el directorio /Applications/ServBay/etc/php/8.3/conf.d/
. Por ejemplo, el archivo xdebug.ini
se utiliza para configurar la extensión Xdebug.
Ejemplo de xdebug.ini
A continuación se presenta un ejemplo de archivo 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
Reiniciar PHP
Después de modificar los archivos de configuración de PHP, es necesario reiniciar el servicio PHP para que los cambios tengan efecto. Puede reiniciar a través de la interfaz de gestión de ServBay o utilizando la herramienta de línea de comandos servbayctl
.
Reiniciar a través de la interfaz de gestión de ServBay
- Abra la interfaz de gestión de ServBay.
- Navegue a
Servicios
. - Encuentre el servicio PHP de la versión correspondiente y haga clic en el botón
Reiniciar
.
Reiniciar a través de servbayctl
Usar la herramienta de línea de comandos servbayctl
permite reiniciar fácilmente el servicio PHP:
servbayctl restart php 8.3
Resumen
En ServBay, los archivos de configuración de PHP se encuentran en el directorio /Applications/ServBay/etc/php/<version>
, incluyendo php.ini
y php-fpm.conf
. Los archivos de configuración de carga de módulos PHP están ubicados en el directorio /Applications/ServBay/etc/php/<version>/conf.d/
. Después de modificar estos archivos de configuración, puede reiniciar el servicio PHP a través de la interfaz de gestión de ServBay o utilizando la herramienta de línea de comandos servbayctl
para aplicar los cambios.