A menudo necesitamos averiguar toda la información posible sobre el servidor, la función nativa `phpinfo()` es genial para esto:
phpinfo();die; // después de escribir la configuración, salir del script
Esto hace que sea fácil ver la versión instalada, las extensiones, las bibliotecas y mucho más.
Consulte el final de este artículo para obtener información sobre la configuración y el cambio de ajustes.
A veces es útil listar sólo información específica, por lo que podemos establecer el primer parámetro para especificar exactamente lo que nos interesa:
phpinfo(INFO_MODULES);
Se utilizan constantes predefinidas para el ajuste:
Nombre de la constante Valor Descripción |
---|
INFO_GENERAL |
INFO_CREDITS |
4. Directivas de ubicación y configuración actuales. La función ini_get() proporcionará más información. |
Información sobre los módulos instalados. Para más información, consulte la función get_loaded_extensions() . |
INFO_ENVIRONMENT |
INFO_VARIABLES |
INFO_LICENSE |
INFO_ALL |
$_SERVER
.Podemos averiguar bastante información sobre la configuración del servidor directamente mientras se ejecuta el script (por ejemplo, el correo electrónico del administrador de la web, la dirección IP actual del visitante o la URL llamada actualmente).
Listar todos los valores existentes es fácil:
foreach ($_SERVER as $key => $value) {echo $key . ':' . $value . '<br>';}
Atención: No es necesario que existan todos los índices (por ejemplo, si el script ejecuta cron en modo CLI, el índice con la URL de la página o la dirección IP de la petición no existirá).
Gran parte de la configuración se almacena en php.ini
y no es accesible directamente desde PHP de forma normal. Por ejemplo, el tamaño máximo de los archivos que se pueden subir.
Para leer la configuración directamente, utilice la función ini_get()
(nota: esta función puede no estar habilitada en todos los servidores, esto es especialmente cierto para los hosts).
Por ejemplo, si queremos averiguar el tamaño máximo de archivo que podemos subir, tenemos que escribir nuestra propia implementación:
/*** @autor Jan Barášek*/public static function getMaxUploadFileSize(): int{$maxUpload = min(ini_get('tamaño_máximo_de_post'),ini_get('upload_max_filesize'));if (strncmp($maxUpload, 'M', 1) === 0) {return (int) str_replace('M', '', $maxUpload);}return (int) $maxUpload;}
Devuelve el valor máximo de upload_max_filesize
y post_max_size
en MB.
Los ajustes se almacenan en el archivo php.ini
. Su ubicación se puede encontrar fácilmente utilizando la función phpinfo()
o llamando al comando php --ini
.
> php --iniConfiguration File (php.ini) Path: /etc/php/7.1/cliLoaded Configuration File: /etc/php/7.1/cli/php.iniScan for additional .ini files in: /etc/php/7.1/cli/conf.dAdditional .ini files parsed: /etc/php/7.1/cli/conf.d/10-mysqlnd.ini,/etc/php/7.1/cli/conf.d/10-opcache.ini,/etc/php/7.1/cli/conf.d/10-pdo.ini,/etc/php/7.1/cli/conf.d/20-calendar.ini,/etc/php/7.1/cli/conf.d/20-ctype.ini,/etc/php/7.1/cli/conf.d/20-exif.ini,/etc/php/7.1/cli/conf.d/20-fileinfo.ini,/etc/php/7.1/cli/conf.d/20-ftp.ini,/etc/php/7.1/cli/conf.d/20-gd.ini,/etc/php/7.1/cli/conf.d/20-gettext.ini
Alternativamente, la ruta puede ser analizada inteligentemente (funciona en sistemas Linux):
php -r "phpinfo();" | grep php.ini
Volverá:
Configuration File (php.ini) Path => /etc/php/7.1/cliLoaded Configuration File => /etc/php/7.1/cli/php.ini
Importante: Normalmente la configuración se divide en varios archivos según el entorno y los paquetes, donde
php.ini
es válido globalmente para todos, mientras que por ejemplo la configuraciónCLI
es válida sólo para el modo CLI, es decir, para llamar a un cron o a un comando desde el Terminal.
Un ejemplo de una propiedad que suele configurarse directamente en php.ini
es el tamaño máximo del archivo de subida (por defecto es de 2 MB
, que ya es poco en 2018).
Dentro del archivo de configuración esto se escribe de la siguiente manera, por ejemplo:
; Maximum allowed size for uploaded files.upload_max_filesize = 40M; Must be greater than or equal to upload_max_filesizepost_max_size = 40M
Punto medio significa comentario, seguido de directivas de configuración específicas.
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | es