Diferencia entre revisiones de «PHP»

De MoodleDocs
m (tidy up)
(update as English page)
 
(No se muestran 31 ediciones intermedias de 3 usuarios)
Línea 1: Línea 1:
{{Pendiente de traducir}}
{{Actualizar}}{{Pendiente de traducir}}
{{Instalación de Moodle}}
{{Instalación de Moodle}}
PHP is the scripting language in which Moodle is developed. It is integrated with your web server. The web server detects php pages (by their extension) and sends them to PHP for execution. PHP must be installed and configured properly for Moodle to work effectively (or at all).  
{{Notadeltraductor|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'' <nowiki>[sic]</nowiki>.}}


==PHP Settings==
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).
Check these settings in your php.ini or .htaccess file (if you're using Apache). For settings which use ON/OFF as their values, you can substitute 1 for ON and 0 for OFF if you prefer. If you change php.ini, don't forget to restart the server.  
* ''register_globals'' '''MUST''' be OFF
==Versiones de PHP==
* ''safe_mode'' needs to be OFF.
* Moodle 3.0.1 y más recientes soportan PHP 7; sin embargo,
* ''memory_limit'' should be at least 64M (although some functions may not work if this low). 128M is recommended. Large systems may need an even higher setting.
** 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);
* ''session.save_handler'' needs to be set to FILES.
* Moodle 3.4 y Moodle 3.5 '''requieren''' PHP 7.0 o PHP 7.1 o PHP 7.2
* ''magic_quotes_gpc'' should be OFF.  
* Moodle 3.6 '''requiere''' PHP 7.0 o más reciente
* ''magic_quotes_runtime'' needs to be OFF.
* Moodle 3.7 '''requiere''' PHP 7.1 o más reciente
* ''file_uploads'' needs to be ON.
* Moodle 3.9 '''requiere''' PHP 7.2 o más reciente
* ''session.auto_start'' needs to be OFF.
* Moodle 3.11 y más recientes '''requieren''' PHP 7.3 o más reciente
* ''session.bug_compat_warn'' needs to be OFF.
* The temp folder must be defined and writeable by your webserver user
* Check the error display/logging section. Make sure the settings are appropriate for your server use.
* ''post_max_size'' and ''upload_max_filesize'' restrict the maximum file size that can be uploaded.
* Check the ''[mail function]'' and database section (for your chosen database) to make sure they match your server configuration.


==Finding the correct php.ini==
==Configuraciones de PHP==
Sometimes it is not obvious where the php.ini file is located or you may even find more than one. To be certain run 'phpinfo' - see below. The path of the php.ini file is a few lines down in the top section.  
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:


Note that if you are using command-line (CLI) PHP for running cron (or anything else) it may be configured with a ''different'' php.ini file.  To check, run the following command:
<pre>
<pre>
php -i | grep php.ini
php -i | grep php.ini
</pre>
</pre>


==PHP Extensions and libraries==
==Extensiones y librerías PHP==
The following PHP extensions are required or recommended (some, e.g. iconv, ctype and tokenizer are now included in PHP by default). Others will need to be installed or selected.
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.
* The '''iconv''' extension is required.
 
* The '''mbstring''' extension is recommended.
==== Extensiones requeridas ====
* The '''curl''' extension is required (required for networking and web services).
* '''ctype'''
* The '''openssl''' extension is recommended (required for networking and web services).
* '''curl'''
* The '''tokenizer''' extension is recommended.
* '''dom'''
* The '''xmlrpc''' extension is recommended (required for networking and web services).
* '''gd'''
* The '''soap''' extension is recommended (required for web services).
* '''iconv'''
* The '''ctype''' extension is required.
* '''intl'''
* The '''zip''' extension is required.
* '''json'''
* The '''gd''' extension is recommended (required for manipulating images).
* '''mbstring'''
* The '''simplexml''' extension is required.
* '''pcre'''
* The '''spl''' extension is required.
* '''simplexml'''
* The '''pcre''' extension is required.
* '''spl'''
* The '''dom''' extension is required.
* '''xml'''
* The '''xml''' extension is required.
* '''zip'''
* The '''intl''' extension is recommended.
* La extensión correcta para la base de datos, deberá ser igualmente requerida. ('''pgsql''', '''mysqli''', '''sqlsrv''', '''oci8''', or '''pdo''')
* The '''json''' extension is required.
 
* '''The appropriate extension for your chosen database is also required.'''
* 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).


* Other PHP extensions may be required to support optional Moodle functionality, especially external authentication and/or enrolment (e.g. LDAP extension for LDAP authentication and the sockets extension for Chat server).
==== 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)


==Installing (missing) extensions==
==Instalación de extensiones faltantes==


This depends on how PHP was installed on your machine and what access you have. Here are some possibilities:
This depends on how PHP was installed on your machine and what access you have. Here are some possibilities:
* If this is a hosted server you are likely to have to ask the administrator or hosting company.  
* The extension might be installed but not enabled; you can enable it in php.ini with the <code>extension=<extension-name></code> [https://www.php.net/manual/en/ini.core.php#ini.extension 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 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 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
* 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.
After making any changes or additions, don't forget to re-start your web server.


== .htaccess files ==
== archivos .htaccess ==


If you don't have access to the php.ini file or there are conflicting requirements with other PHP applications on the same server you may be able to change PHP settings in an .htaccess file. This should be placed in the 'root' of your Moodle installation (i.e. the same place as the config.php file).  
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).


'''The file isn't always called .htaccess and may not work at all. Contact your server administrator to be sure'''
'''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"


Settings are made by adding lines in one of two formats:
Se deberían añadir estas líneas en alguna de estas dos formas:
* php_value ''name value''
* php_value ''name value''
* php_flag ''name on/off''
* php_flag ''name on/off''


Examples:
Ejemplos:
* '''php_value memory_limit 128M'''
* '''php_value memory_limit 128M'''
* '''php_flag register_globals off'''
* '''php_flag register_globals off'''


==PHP info==
==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:
The phpinfo display contains information about the configuration of your PHP installation. This is useful for checking:
*La instalación PHP se ajusta a lo que necesita Moodle.
* that your PHP installation meets Moodle's system requirements.
*Los valores que están establecidos en el servicor, p. ej. límite máximo de subida de archivos..
* the values that are currently applied to your server's PHP install, e.g. File upload limits
*Que están instalados los módulos PHP  que precisa Moodle, p. ej. módulo LDAP para la autenticación..
* that you have installed the required modules needed for Moodle to work, e.g. the LDAP module for LDAP authentication.


=== Displaying phpinfo in Moodle===


An administrator can find PHP info in ''Settings > Site administration > Server > PHP info''.
=== Mostrar phpinfo en Moodle===
Un administrador puede ver la información sobre PHP en '' Configuraciones > Administración del sitio > Servidor > Información PHP ''.


=== Displaying phpinfo outside of Moodle ===
=== Mostrar  phpinfo fuera de Moodle ===


To view the phpinfo information:
De cualquier forma, en cualquier archivo en el servidor, llamando a esta función se podrá ver la información PHP.:
* Create a file called info.php using your text editor, containing this single line:
* Cree un archivo llamado info.php usando su editor de texto, que solamente contenga la siguiente línea:


  <code php>
  <code php>
Línea 94: Línea 111:
  </code>
  </code>


* Save this file as info.php
* Guarde este archivo como info.php
* Upload this file into the root web accessible folder on your server.
* Suba este archivo a la raíz de la carpeta accesible por web de su servidor.
* Now open this file in your browser. For example <nowiki>http://<server-name>/info.php</nowiki>.
* Ahora abra este archivo en su navegador. Por ejemplo, <nowiki>http://<server-name>/info.php</nowiki>.
 
==See also==


==Vea también==
*[[Compilar PHP desde código fuente]]
*[[Compilar PHP desde código fuente]]
 
* [https://docs.moodle.org/dev/Moodle_and_PHP7 Moodle and PHP7] en la documentación en inglés para desarrolladores
*http://www.php.net/ - the PHP web site
*http://php.iis.net/ - Microsoft PHP Installer for IIS
* [[MoodleDocs:Style_guide#PHP_syntax_highlighting]] to highlight PHP syntax
* [[Resaltado de sintaxis de codigo]] que usa el filtro GeSHi (Generic Syntax Highlighter).
*[https://docs.moodle.org/dev/PHP_for_novices https://docs.moodle.org/dev/PHP_for_novices]
*http://www.php.net/ - the PHP web site
*http://www.php.net/ - the PHP web site
*http://php.iis.net/ - Microsoft PHP Installer for IIS
*http://php.iis.net/ - Microsoft PHP Installer for IIS
[[Categoría:Administrador]]


[[de:PHP-Versionen für Moodle]]
[[de:PHP-Versionen für Moodle]]
[[Category:Administrador]]
[[en:PHP]]
[[en:PHP]]

Revisión actual - 14:29 19 ene 2024

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