%20%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F.png)
次のような問題があります:
PHP Fatal error: Call to undefined function curl_init() in /var/www/html/...on line 1495
php.ini で curl を有効にしました:
extension=php_curl.dll
しかし、Apache のエラー ログには次のように表示されます:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/php_curl.dll' - /usr/lib/php/20131226/php_curl.dll: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/php_gd2.dll' - /usr/lib/php/20131226/php_gd2.dll: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/php_mbstring.dll' - /usr/lib/php/20131226/php_mbstring.dll: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20131226/php_mysql.dll' - /usr/lib/php/20131226/php_mysql.dll: cannot open shared object file: No such file or directory in Unknown on line 0
curl 拡張機能をインストールしようとしましたが、うまくいきませんでした。
修正方法をご存知ですか? 全く分かりません。
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
答え1
まず、.dll
は Microsoft Windows のファイル拡張子です。Linux の世界では、動的ライブラリの接尾辞は、.so
コピー/貼り付けが少し速いように見えます... です。
Linux では、extension=curl
(私の Debian の現在の設定) またはextension=php_curl
(システムに応じて) を使用する必要があります。
さらに、PHP CURL バインディングがシステムにインストールされていることを確認する必要があります。
$ dpkg -l|grep -i curl
ii libcurl3-gnutls:amd64 7.64.0-4 amd64 easy-to-use client-side URL transfer library (GnuTLS flavour)
ii libcurl4:amd64 7.64.0-4 amd64 easy-to-use client-side URL transfer library (OpenSSL flavour)
ii php-curl 2:7.3+69 all CURL module for PHP [default]
ii php7.3-curl 7.3.9-1~deb10u1 amd64 CURL module for PHP
上記のコマンドの出力に が報告されない場合はphp-curl
、 を実行する必要がありますapt-get install php-curl
。