PHP es un lenguaje de guiones de propósito general, pero diseñado para el desarrollo de páginas web dinámicas utilizando código embebido dentro del lenguaje de marcas. Su sintaxis está basada en la de C / C++, y por lo tanto es muy similar a la de Java. Aunque lo puedes hacer de otras formas, los delimitadores recomendados para incluir código PHP dentro de una página web son <?php
y ?>
.
El código se ejecuta por un entorno de ejecución con el que se integra el servidor web (normalmente utilizando Apache con el módulo mod_php
). La configuración tanto del servidor web Apache, como de PHP, se realiza por medio de ficheros de configuración. El de Apache es httpd.conf
, y el de PHP es php.ini
. Este fichero, php.ini
, puede encontrarse en distintas ubicaciones. La función phpinfo()
que ejecutaste antes te informa, entre otras muchas cosas, del lugar en que se encuentra almacenado el fichero php.ini
en tu ordenador. En nuestro caso es en /etc/php/php7.x/apache2/php.ini
. (php7.x es la versión de PHP, en la fecha de elaboración de este manual y con Ubuntu 20.04 la 7.3 )
Dependiendo de cómo se integre PHP con Apache, los cambios que realices en su fichero de configuración se aplicarán en un momento o en otro. Si como es nuestro caso, utilizamos mod_php
para ejecutar PHP como un módulo de Apache, las opciones de configuración de PHP se aplicarán cada vez que se reinicie Apache. Por tanto, no te olvides de hacerlo cada vez que hagas cambios en php.ini
. Por ejemplo: sudo systemctl restart apache2
Algunas de las directivas más utilizadas que figuran en el fichero php.ini
son:
-
short_open_tags
. Indica si se pueden utilizar en PHP los delimitadores cortos<?
y?>
. Es preferible no usarlos, pues puede causarnos problemas si utilizamos páginas con XML. Para prohibir la utilización de estos delimitadores con PHP le asignamos a esta directiva el valor Off. Por defecto suelen estar a On. -
max_execution_time
. Permite que puedas ajustar el número máximo de segundos que podrá durar la ejecución de un script PHP. Evita que el servidor se bloquee si se produce algún error en un script. -
display_errors
. Permite visualizar los errores que se produzcan en el código PHP, Para ver el nivel de detalles de los errores mostrados se complementa con la directiva siguiente,los valore recomendados por defecto son: Para un entorno en producción a Off, para un entorno en desarrollo a On. Por defecto suele estar en On. -
error_reporting
. Indica qué tipo de errores se mostrarán en el caso de que se produzcan. Por ejemplo, si haceserror_reporting = E_ALL
, te mostrará todos los tipos de errores. Si no quieres que te muestre los avisos pero sí otros tipos de errores, puedes hacererror_reporting = E_ALL & ~E_NOTICE
. -
file_uploads
. Indica si se pueden o no subir ficheros al servidor por HTTP. -
upload_max_filesize
. En caso de que se puedan subir ficheros por HTTP, puedes indicar el límite máximo permitido para el tamaño de cada archivo. Por ejemplo,upload_max_filesize = 1M
. post_max_size
. Complementa la directiva anterior, establece el tamaño máximo de un archivo subido por POST, Por ejemplo,post_max_size = 1M.
Iremos viendo otras directivas a lo largo del módulo cuando las vayamos necesitando. Realiza la siguiente actividad para comprobar si recuerdas las que acabamos de ver.