Diferencia entre revisiones de «admin/environment/php extension/curl»

De MoodleDocs
(tidy up)
(tidy up)
 
Línea 1: Línea 1:
{{Entorno}}
{{Entorno}}
{{Pendiente de traducir}}
 
== Unix  ==
== Unix  ==
Moodle recomienda usar libcurl con soporte para al menos TLS 1.2. Es importante actualizar principalmente por motivos de seguridad, pero también porque servicios externos (como por ejemplo, PayPal) dejarán de soportar versiones antiguas de TLS en el futuro cercano. Existen tres términos con los cuales debe familiarizarse para este proceso:
Moodle recomienda usar libcurl con soporte para al menos TLS 1.2. Es importante actualizar principalmente por motivos de seguridad, pero también porque servicios externos (como por ejemplo, PayPal) dejarán de soportar versiones antiguas de TLS en el futuro cercano. Existen tres términos con los cuales debe familiarizarse para este proceso:
Línea 15: Línea 15:


=== Distribuciones Debian y basadas en Debian (Ubuntu,...) ===
=== Distribuciones Debian y basadas en Debian (Ubuntu,...) ===
These steps should work on Debian 7.0 (although you may need to install sudo) and Ubuntu 12.04 LTS - if you're using something older you will need to upgrade. Please also note that these steps use the php5-* packages, as that's what many of the package manager repositories use. Ideally you should be using PHP 7.1, or at least PHP 7. More information about that at [https://docs.moodle.org/dev/Moodle_and_PHP7 Moodle and PHP7]. If you are using PHP7 or 7.1 it may be possible to substitute the php5-* packages with php7-* or php7.1-* depending on how you installed PHP. This example also uses OpenSSL, but the steps for other libraries are similar.
Estos pasos deberían de funcionar en Debian 7.0 (aunque Usted podría  necesitar instalar sudo) y en Ubuntu 12.04 LTS - si Usted está usando algo más antiguo, necesitará actualizar. Por favor tome nota de que estos pasos usan los paquetes  php5-*,porque eso es lo que usan muchos repositorios para gestionar paquetes. Idealmente Usted debería de estar usando [[PHP]] 7.1, o cuando menos [[PHP]] 7. Más información al respecto en  [https://docs.moodle.org/dev/Moodle_and_PHP7 Moodle and PHP7]. Si USted está usando PHP7 o 7.1 podría ser posible sustituir los paquetes php5-* con php7-* o php7.1-* dependiende de como isntaló Usted  PHP. Este ejemplo también usa  OpenSSL, pero los pasos para otras librerías son similares.


* Actualizar paquetes: <code>sudo apt-get update</code>
* Actualizar paquetes: <code>sudo apt-get update</code>

Revisión actual - 14:37 21 ene 2018


Unix

Moodle recomienda usar libcurl con soporte para al menos TLS 1.2. Es importante actualizar principalmente por motivos de seguridad, pero también porque servicios externos (como por ejemplo, PayPal) dejarán de soportar versiones antiguas de TLS en el futuro cercano. Existen tres términos con los cuales debe familiarizarse para este proceso:

  • libcurl - La librería (biblioteca) subyacente que de hecho hace las solicitudes (https://curl.haxx.se/libcurl/).
  • Librerías (bibliotecas) SSL/TLS - UNa librerpia contra la cual será compilada libcurl. Esta librería proporciona la funcionalidad SSL/TLS en libcurl. Algunas opciones populares son OpenSSL, NSS, y GnuTLS.
  • PHP/cURL - El módulo de PHP que envuelve a libcurl. Este módulo proporciona las funciones curl_* en PHP.

Para instalar la librería curl en Unix

  1. Usted necesitará librerpias SSL/TLS actualizadas.
  2. Usted necesitará compilar libcurl
  3. Usted necesitará recompilar PHP/cURL desde el código fuente

Distribuciones Debian y basadas en Debian (Ubuntu,...)

Estos pasos deberían de funcionar en Debian 7.0 (aunque Usted podría necesitar instalar sudo) y en Ubuntu 12.04 LTS - si Usted está usando algo más antiguo, necesitará actualizar. Por favor tome nota de que estos pasos usan los paquetes php5-*,porque eso es lo que usan muchos repositorios para gestionar paquetes. Idealmente Usted debería de estar usando PHP 7.1, o cuando menos PHP 7. Más información al respecto en Moodle and PHP7. Si USted está usando PHP7 o 7.1 podría ser posible sustituir los paquetes php5-* con php7-* o php7.1-* dependiende de como isntaló Usted PHP. Este ejemplo también usa OpenSSL, pero los pasos para otras librerías son similares.

  • Actualizar paquetes: sudo apt-get update
  • Instalar los siguientes paquetes: apt-get install git build-essential autoconf libtool libtool-bin php5-curl libbison-dev=1:2.5.dfsg-2.1 libxml2-dev libssl-dev openssl
  • Revisar que su versión OpenSSL sea ahora al menos 1.0.1 corriendo: openssl version
  • Obtener los códigos fuentes de libcurl, compilar, e instalar:
 git clone https://github.com/curl/curl.git
 cd curl
 git checkout curl-7_51_0
 ./buildconf
 ./configure --with-ssl
 make
 sudo make install
  • Compilar e instalar el módulo PHP/cURL
 git clone https://github.com/php/php-src.git
 cd php-src
 git checkout php-5.6.29
 cd ext/curl
 phpize
 ./configure
 make
 sudo make install
 sudo bash -c "echo \"extension=curl.so\" > /etc/php5/apache2/conf.d/20-curl.ini"
 sudo bash -c "echo \"extension=curl.so\" > /etc/php5/cli/conf.d/20-curl.ini"
  • Nota: El archivo /etc/php5/[apache2|cli]/conf.d/20-curl.ini podría ya estar presente, ollamarse de una forma ligeramente diferente. Revise primeramente y modifique el comando apropiadamente.
  • Reinicet apache: sudo service apache2 restart
  • Verifique que el módulo PHP/cURL esté usando las librerías actualizadas SSL/TLS: php -i | grep SSL
  • Usted debería ver algo similar a :
 SSL => Yes
 SSL Version => OpenSSL/1.0.1t

LA versión de SSL podría ser diferente de 1.0.1t, lo que está bien, siempre y cuando no sea más antigua que 1.0.1.

Windows

Para instalar la librería curl en Windows

  1. Abra el archivo php.ini encontrado en la carpeta php/php.ini (versiones más antiguas de XAMPP usan la carpeta moodle/apache/bin )
  2. Encontrar la línea: ;extension=php_curl.dll
  3. Quitar el caracter ; al principio de la línea
  4. Reiniciar Apache

Si continúa obteniendo un mensaje de error después de realizar estos pasos, entonces:

  • Vaya a la carpeta php .
  • Copie el archivo icudt##.dll, icuin##.dll y icuuc##.dll (donde ## es un número de dos dígitos, como por ejemplo: 36 o 49).
  • Vaya al directorio bin de Apache.
  • Pegue allí los siguientes tres archivos:
  apache/bin/icudt49.dll
  apache/bin/icuin49.dll
  apache/bin/icuuc49.dll
  • Reinicie su servidor web Apache y vuelva a intentar el proceso de instalación de Moodle.

Sugerencia: Si pareciera que WAMP tiene o viene con una versión corrupta de curl.dll, vea el hilo del foro forum.wampserver.com Wamp Server 2.2 Windows 7 64-bit and curl not working side-by-side configuration incorrect para los detalles del problema y como resolverlo.