admin / environment / php拡張子/ curl

Unix

Moodleは、少なくともTLS 1.2をサポートするlibcurlを使用することをお勧めします。主にセキュリティ上の理由からアップグレードすることが重要ですが、外部サービス(例えばPayPal)は近い将来古いバージョンのTLSのサポートをやめるでしょう。このプロセスには、よく知っておくべき3つの用語があります。

  • libcurl - 実際にリクエストを実行する基礎となるライブラリ( https://curl.haxx.se/libcurl/ )。
  • SSL / TLSライブラリ - libcurlのコンパイル対象となるライブラリ。このライブラリはlibcurlのSSL / TLS機能を提供します。いくつかの人気のあるものはOpenSSL、NSS、そしてGnuTLSです。
  • PHP / cURL - libcurlをラップするPHPモジュール。このモジュールはPHPでcurl_ *関数を提供します。

curlライブラリをUnixにインストールする

  1. 最新のSSL / TLSライブラリが必要になります。
  2. あなたはlibcurlをコンパイルする必要があるでしょう
  3. PHP / cURLをソースから再コンパイルする必要があります。

DebianとDebianベースのディストリビューション

これらのステップはDebian 7.0(sudoをインストールする必要があるかもしれませんが)とUbuntu 12.04 LTSで動作するはずです - もしもっと古いものを使っているならアップグレードする必要があるでしょう。これらの手順ではphp5- *パッケージを使用していることにも注意してください。これは、パッケージマネージャリポジトリの多くで使用されているものです。理想的にはあなたはPHP 7.1、あるいは少なくともPHP 7を使うべきです。それに関するさらなる情報はMoodleと PHP 7で。 PHP 7または7.1を使用している場合は、PHPのインストール方法に応じて、php5- *パッケージをphp7- *またはphp7.1- *に置き換えることが可能です。この例でもOpenSSLを使用していますが、他のライブラリの手順も同様です。

  • パッケージを更新します。
     sudo apt-getアップデート
  • 以下のパッケージをインストールしてください。
     apt-getインストールgit build-essential autoconf libtool libtool-bin php5-curl libbison-dev = 1:2.5.dfsg-2.1 libxml2-dev libssl-dev openssl 
  • 次のコマンドを実行して、OpenSSLのバージョンが1.0.1以上であることを確認してください。
     opensslバージョン
  • libcurlのソースを入手し、コンパイルしてインストールします。
 git clone https://github.com/curl/curl.git
 CDカール
 git checkout curl-7_51_0
 ./buildconf
 ./configure --with-ssl
 作る
 sudo make install
  • 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
 作る
 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"
  • 注:ファイル/etc/php5/[apache2|cli]/conf.d/20-curl.iniは既に存在しているか、または少し違う名前で呼ばれている可能性があります。最初に確認して、それに応じてコマンドを変更してください。
  • Apacheを再起動します。
     sudoサービスapache2の再起動
  • PHP / cURLモジュールが最新のSSL / TLSライブラリを使用していることを確認します。
     php -i | grep SSL 
  • 次のようなものが見えるはずです。
 SSL =>はい
 SSLバージョン=> OpenSSL / 1.0.1t

SSLのバージョンは1.0.1tとは異なるかもしれませんが、問題ありません。 1.0.1よりも古くない限り。

Windows

Windowsにcurlライブラリをインストールする

  1. php / php.iniフォルダにあるphp.iniファイルを開きます(XAMPPの古いバージョンではmoodle / apache / binフォルダを使用します)。
  2. 行を見つけます。
     ;拡張子= php_curl.dll 
  3. を削除
     ; 
    行頭に
  4. Apacheを再起動します

上記の手順を実行してもまだエラーメッセージが表示される場合は、

  • phpフォルダに行きます。
  • をコピー
     icudt ##。dll 
     icuin ##。dll 
    そして
     icuuc ##。dll 
    ファイル( ##は2桁の数字です(例:36または49))。
  • Apacheのbinディレクトリに移動します。
  • 3つのファイルを貼り付けます。
 apache / bin / icudt 49 .dll
  apache / bin / icuin 49 .dll
  apache / bin / icuuc 49 .dll
  • Apacheウェブサーバを再起動して、Moodleのインストールプロセスを再試行してください。

ヒント:WAMPに破損したcurl.dllバージョンが付属しているか破損しているようである場合は、forum.wampserver.comスレッドWamp Server 2.2 Windows 7 64-bitを参照してください。修正と共に。