2026年5月20日
2026年5月20日
WordPressで「fsockopen」関数エラーが出る場合の対処
はじめに
「fsockopen」関数エラーは、一部のプラグインやテーマが外部サーバーとの通信を行う際に発生する可能性があります。この記事では、「fsockopen」関数を使用しているアプリケーションやプラグインで問題が起こった場合の対処法を詳しく説明します。
症状・背景
- 「fsockopen」エラーは、PHPが外部サーバーとの接続を試みた際に発生する可能性があります。
- WordPress内で「fsockopen」関数を使用しているプラグインやテーマがある場合に、このエラーが表示されることがあります。
- サーバーの制限設定により、「fsockopen」関数が無効化されていることもあります。
手順・設定方法
ステップ1: 「fsockopen」関数を有効にする
# WordPressサーバーへSSHでログインします。
ssh user@your-server.com
# PHPの設定ファイル(php.ini)を開きます。
nano /etc/php/7.4/apache2/php.ini
# 「allow_url_fopen」と「fsockopen」が有効化されていることを確認し、必要に応じて変更を行います。
; デフォルトでは、次の行がコメントアウトされています。以下のようにコメントを外して有効にします。
allow_url_fopen = On
fsockopen = On
# 変更内容を保存して閉じます。(Ctrl + O, Ctrl + X)
ステップ2: SELinuxや防火ウォールの設定確認と調整
# SELinuxが有効な場合、次のようなコマンドで状態を確認します。
getenforce
# ファイアウォールのステータスもチェックします。
ufw status
# 「fsockopen」が必要となる通信ポートを開けるように設定を調整します。
ufw allow 80/tcp
ufw allow 443/tcp
ステップ3: PHPのバージョンアップやセキュリティパッチ適用
# PHPの最新版に更新します。
sudo apt update
sudo apt install php7.4 -y
# 最新版のPHP設定ファイルを再生成します。
sudo phpenmod mcrypt
ステップ4: プラグインやテーマの問題チェックと修正
# WordPressサイトへログインし、プラグイン一覧を開きます。
https://yourdomain.com/wp-admin/plugins.php
# 問題のあるプラグインを無効化します。
php /path/to/wordpress/wp-admin/admin-post.php?action=deactivate&slug=name-of-plugin
# テーマをデフォルトのTwenty Twenty-Twoに変更します。
wp theme activate twentynineteen
注意事項
- 「fsockopen」関数はセキュリティ上のリスクがあるため、必要最小限の機能で利用すること。
- 不要な外部通信を制御するためにファイアウォール設定を適切に行う。
- PHP設定ファイルの変更後には必ずサーバーを再起動する。
まとめ
1. 「fsockopen」関数の有効化: サーバー設定で「allow_url_fopen」と「fsockopen」がOnになっていることを確認します。
2. ファイアウォールとSELinuxの調整: 必要なポートを開き、通信を適切に制御する設定を行います。
3. PHPのアップデート: PHPの最新版へ更新し、セキュリティパッチも適用します。
4. 問題のあるプラグインやテーマの無効化: 問題が出る可能性があるプラグインやテーマを一旦無効化してみてください。
関連記事: