PHP

De MoodleDocs
La versión para imprimir ya no se admite y puede contener errores de representación. Actualiza los marcadores del navegador y utiliza en su lugar la función de impresión predeterminada del navegador.

Esta página necesita actualizarse con la información existente en la documentación vigente/moderna/actualizada en el idioma inglés original para Moodle. Se le sugiere al lector que consulte la página original en idioma inglés cuyo enlace está al fondo de esta página. y que, por favor, actualice esta información y quite la plantilla {{Actualizar}} cuando haya terminado.     (otras páginas pendientes de actualizar)

Nota: Pendiente de Traducir. ¡Anímese a traducir esta página!.     ( y otras páginas pendientes)

translator note icon.png Nota del traductor: En esta página, la palabra extensión corresponde a la traducción del término inglés extension, aplica a las extensiones PHP, y no debe de confundirse con lo que el Español internacional usa para la traducción de plugin [sic].


PHP es el lenguaje de script en el cual Moodle está desarrollado. Está integrado con su servidor web. El servidor web detecta (por su extensión) las páginas PHP y las envía a PHP para que se ejecutan. PHP debe de estar instalado y configurado apropiadamente para que Moodle funcione adecuadamente (o que simplemente funcione).

Versiones de PHP

  • Moodle 3.0.1 y más recientes soportan PHP 7; sin embargo,
    • Moodle 3.1 y anteriores no soportan PHP 7.1 ni más recientes (esto significa que actualmente no hay combinaciones de versiones Moodle y PHP que todavía estén soportadas antes de Moodle 3.4);
  • Moodle 3.4 y Moodle 3.5 requieren PHP 7.0 o PHP 7.1 o PHP 7.2
  • Moodle 3.6 requiere PHP 7.0 o más reciente
  • Moodle 3.7 requiere PHP 7.1 o más reciente
  • Moodle 3.9 requiere PHP 7.2 o más reciente
  • Moodle 3.11 y más recientes requieren PHP 7.3 o más reciente

Configuraciones de PHP

Revise estas configuraciones en el archivo php.ini o .htaccess (si está usando Apache). Para las configuraciones que usan SI/NO (ON/OFF) como sus valores, Usted puede sustituir 1 por ON y 0 por OFF si así lo prefiere. Si Usted cambia php.ini, no se olvide de reiniciar el servidor.

  • register_globals DEBE estar OFF - (Característica eliminada en PHP 5.4. PHP 5.4 es un requisito mínimo para Moodle 2.7)
  • safe_mode necesita estar OFF - (Característica eliminada en PHP 5.4. PHP 5.4 es un requisito mínimo para Moodle 2.7)
  • memory_limit necesita ser al menos 96M (aunque algunas funcionalidades podrían no funcionar con tan poco). Moodle se rehusará a instalarse si es más baja. Se recomienda 128M. Las instalaciones más grandes podrían necesitar una configuración aun mayor.
  • session.save_handler necesita configurarse a FILES.
  • magic_quotes_gpc debería ser OFF - (Característica eliminada en PHP 5.4. PHP 5.4 es un requisito mínimo para Moodle 2.7)
  • magic_quotes_runtime necesita estar OFF. (DEPRECATED in PHP 5.3.0, and REMOVED as of PHP 7.0.0.)
  • file_uploads necesita ser ON.
  • session.auto_start necesita ser OFF.
  • session.bug_compat_warn necesita ser OFF - (Característica eliminada en PHP 5.4. PHP 5.4 es un requisito mínimo para Moodle 2.7)
  • La carpeta temp debe estar definida y tener permisos de escritura para su usuario webserver
  • Compruebe la sección que muestra/registra (en Bitácoras) los errores. Asegurese de que las configuraciones estén de acuerdo con el servidor utiilizado
  • post_max_size y upload_max_filesize limitan el tamaño máximo de archivos que pueden ser subidos.
  • Compruebe [mail function] y la sección de la base de datos elegida, para asegurar que coincidan con la configuración de su servidor.

Encontrar el php.ini correcto

En ocasiones no es del todo facil saber dónde está localizado el archivo php.ini dentro del servidor, o puede haber más de uno. Para localizar el correcto, ejecute el phpinfo. La ruta del php.ini debe estar en este archivo.

Advierta que si está utilizando la línea de comandos PHP para lanzar el Cron, o cualquier otra tarea, podríaestar configurado con un archivo php.ini diferente. Para comprobarlo, ejecute este comando:

php -i | grep php.ini

Extensiones y librerías PHP

Las siguientes extensiones de PHP son requeridas o recomendadas (algunas, p ej. icon, ctype o tokonizer están ahoras incluidas por defecto en el paquete PHP). Otras deberán ser bien instaladas o seleccionadas para el correcto funcionamiento de Moodle.

Extensiones requeridas

  • ctype
  • curl
  • dom
  • gd
  • iconv
  • intl
  • json
  • mbstring
  • pcre
  • simplexml
  • spl
  • xml
  • zip
  • La extensión correcta para la base de datos, deberá ser igualmente requerida. (pgsql, mysqli, sqlsrv, oci8, or pdo)
  • Otras extensiones pueden ser requeridas de manera opcional para el correcto funcionamiento de todas las utilidades de su Moodle. En particular la Autenticación externa y matriculación (Inscripción) (ej. LDAP y la extensión de sockets para el servidor de Chat).

Extensiones recomendadas

  • openssl (requerida para servicios web y red)
  • soap (requerida para servicios web)
  • sodium (requerida en PHP 8 y superior)
  • tokenizer
  • xmlrpc (requerida para servicios web y red)

Instalación de extensiones faltantes

This depends on how PHP was installed on your machine and what access you have. Here are some possibilities:

  • The extension might be installed but not enabled; you can enable it in php.ini with the extension=<extension-name> directive.
  • If this is a hosted server you are likely to have to ask the administrator or hosting company.
  • If PHP was compiled from source you will need to recompile, changing the 'configure' settings - see Compiling PHP from source.
  • If it was installed using packages (typically Linux) you can install the required package (see your Linux distribution's documentation)
  • If you are using Windows you just need to uncomment the appropriate DLL files in php.ini

After making any changes or additions, don't forget to re-start your web server.

archivos .htaccess

Si no puede acceder al archivo php.ini o encuentra conflictos con los requerimientos con otras aplicaciones en PHP en el mismo entorno del servidor, debería cambiar en la configuración del archivo .htaccess. Este debería localizarse en la carpeta root de su instalación de Moodle (p. ej. en el mismo lugar que el archivo config.php).

El archivo no siempre tiene el nombre de .htaccess, e inclusive puede que no funcione en absoluto. Póngase en contacto con el administrador del servidor para asegurarse"

Se deberían añadir estas líneas en alguna de estas dos formas:

  • php_value name value
  • php_flag name on/off

Ejemplos:

  • php_value memory_limit 128M
  • php_flag register_globals off

Información sobre PHP

La utilidad phpinfo muestra información sobre la configuración de la instalación de su PHP. Es muy útil para comprobar:

  • La instalación PHP se ajusta a lo que necesita Moodle.
  • Los valores que están establecidos en el servicor, p. ej. límite máximo de subida de archivos..
  • Que están instalados los módulos PHP que precisa Moodle, p. ej. módulo LDAP para la autenticación..


Mostrar phpinfo en Moodle

Un administrador puede ver la información sobre PHP en Configuraciones > Administración del sitio > Servidor > Información PHP .

Mostrar phpinfo fuera de Moodle

De cualquier forma, en cualquier archivo en el servidor, llamando a esta función se podrá ver la información PHP.:

  • Cree un archivo llamado info.php usando su editor de texto, que solamente contenga la siguiente línea:

<?php phpinfo(); ?>

  • Guarde este archivo como info.php
  • Suba este archivo a la raíz de la carpeta accesible por web de su servidor.
  • Ahora abra este archivo en su navegador. Por ejemplo, http://<server-name>/info.php.

Vea también