勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

WordPressのcontact form7で500エラーの対応方法

   2024/09/20  WordPress CMS

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レポジトリは無効にしますとという意味っぽい。

 

参考サイト

https://hacknote.jp/archives/28511/

 - WordPress CMS

  関連記事

Contact form7で送信数を測定(トラッキングタグ)

contact form7でフォーム送信が完了した時点で計測されるようにトラッキ ...

Contact form7でフォーム送信時に別サーバへもデータを送信する方法

contact form7でフォーム送信時に別サーバーでフォーム内容をPOST送 ...