WordPressのcontact form7で500エラーの対応方法
2024/09/20
WordPressプラグインのcontact form7で送信ボタンを押し、ローディングっぽいgif画像が表示されるが、その後は変化が無く送信できないというケースがあった。自身で作成したテーマとかであれば、wp_head()の記載忘れでjQueryが呼び出されずにエラーということがたまにあるが、今回はそうではなかった。以下に症状とか原因とかをメモ。
症状
送信ボタンを押してもローディング画像が表示されるだけで送信されない。firefoxの開発ツールで確認すると500エラーが発生していた。
原因
結論としてはphp-xmlが入っていないというのが原因。apacheのエラーログを追ってみると、
PHP Fatal error: Class 'SimpleXMLElement'
というログが残っており、調べたところphp-xmlが入っていない場合に表示されるエラーとの事。
php-xmlのインストール
普通にyumでインストールしようと以下コマンドだとエラーになった。
yum install php-xml
remiのレポジトリで入れる必要があるらしいので以下コマンドだとこれまたエラー。
yum install --enablerepo=remi php-xml
hitoryコマンドでPHP関連のインストールを行ったコマンドを見ると、「--disablerepo=amzn-main」という記述があった。
yum -y install --disablerepo=amzn-main --enablerepo=remi-php56 php-xml
上記コマンドだとインストールできた。あとはapacheの再起動をかけるとなおった。
--disablerepo=amzn-mainって何?
今回の案件がAWSだったんだけど、amzn-mainリポジトリというものが入っているらしい。
--disablerepo=amzn-main
でamzn-mainレポジトリは無効にしますとという意味っぽい。
参考サイト
関連記事
-
Contact form7でフォーム送信時に別サーバへもデータを送信する方法
contact form7でフォーム送信時に別サーバーでフォーム内容をPOST送 ...
-
Contact form7で送信数を測定(トラッキングタグ)
contact form7でフォーム送信が完了した時点で計測されるようにトラッキ ...