2026年9月19日
2026年9月19日
WordPressで「cURL error」が出る場合の解決方法
はじめに
「cURL error」は、WordPressサイトで外部APIやサービスとの通信が失敗したときに発生する可能性のあるエラーです。この記事では、その原因と対処法について詳しく説明します。
症状・背景
- サイトの特定の機能(例えばWPForms、Jetpackなど)が正しく動作しない
- 「cURL error」を含むエラーメッセージがブラウザに表示される
- WordPressプラグインやテーマの更新が失敗する
- エラー内容が「cURL 60: Peer certificate cannot be authenticated with known CA certificates」といった具体的な詳細を持つ
手順・設定方法
ステップ1: cURL拡張モジュールを確認する
# WordPressが動作しているユーザー権限でPHPコマンドを実行
php -i | grep curl
# サイトの状態によっては、wp-cliを使用してcURL情報を取得することも可能
sudo -u www-data wp core config --show-salts --path=/var/www/html/your-site --extra-php="define('WP_DEBUG', true); define('WP_DEBUG_LOG', true);"
ステップ2: PHPの設定を確認または変更する
# ホスト名解決に使用されるDNSキャッシュを強制的にクリア
sudo service nscd restart
# cURLがSSL証明書チェックを行うためのCAバウンドル(信頼された証明書リスト)が適切な場所にあるか確認する
sudo ls /etc/ssl/certs/ca-certificates.crt
# PHP設定ファイルでcURL関連の設定を変更し、SSL証明書チェックを無効にする場合
sudo nano /etc/php/7.4/cli/php.ini # 版数に応じて適切なPHP設定ファイルを選択
ステップ3: PHPのバージョンや設定を更新する
# オペレーティングシステムとインストールされている他のソフトウェアとの互換性を考慮して、PHPの安定版にアップデートする
sudo apt-get update && sudo apt-get upgrade php7.4 -y # 版数は適切なものにする
# 更新後、再度cURLの設定が適切であることを確認する
php -i | grep curl
ステップ4: SSL証明書や鍵ファイルを更新または再インストールする
# サイトに使用されているSSL証明書と鍵を取得し、最新の状態にする
sudo certbot renew --force-renewal --agree-tos --no-redirect --webroot -w /var/www/html/your-site --email you@example.com --domains yourdomain.com,www.yourdomain.com
# 更新が完了したら、Apacheの設定ファイルを確認し、証明書と鍵へのパスを適切に指定していることを確認する
sudo nano /etc/apache2/sites-available/your-site.conf
注意事項
- セキュリティ上のリスクを最小限に抑えつつ、サイトの安定性や可用性を確保するために適切な設定を選択すること。
- 定期的にソフトウェアと証明書を更新することで、セキュリティホールから保護することが重要です。
- すべての変更はバックアップを取り、テスト環境で最初に行うことを推奨します。
まとめ
1. cURL拡張モジュール: WordPressが正常に動作するためにはcURLが必須であり、それが適切に設定されていることを確認することが重要です。
2. PHP設定: PHPの設定ファイルを変更して、必要な機能やオプションを有効化または無効化することで問題を解決することができます。
3. SSL証明書更新: サイトがセキュアな通信を行うためには最新のSSL証明書が必要です。定期的な更新は必須です。
4. バックアップ: 重大な変更や更新を行った後は、システム全体またはその一部をバックアップすることを強く推奨します。
関連記事: