Contact Form 7のテキストエリアで文字数が多いと送信できない
-
こんにちは
PHP の設定で最大送信サイズの制限にかかっていると思います。
サーバーの管理画面などで max_post_size の数値を大きくしてみてください。
munyaguさん
返信をありがとうございます!
サーバーの管理画面というのはWPでしょうか。どのファイルを修正すればいいかなど、詳細を教えていただけましたら嬉しく思います。お手数ですが、よろしくお願いいたします。
munyaguさん
返信をありがとうございました。今まで同じサーバーで自前でフォームを作っていたときは、もっと多くの文字数での送信ができていたので、Contact form7の仕様や設定の問題かと思いましたが、サーバーの問題なのですね?
サーバー会社に聞いてみます。
ありがとうございます。
いまのところ、はっきりした原因が分かっているわけではありません。
max_post_size が原因の確率が高く、変更も簡単なのでまず試してみてはどうかということです。
明確な原因が知りたい場合は、サーバーのエラーログを確認してみてください。
munyaguさん
返信をありがとうございました。現在、サーバー会社に問い合わせていますが、管理画面を見たところ、
post_max_sizeの項目のところに、32Mと表示されてありまして、契約しているプランではこれは変更できないと表示されていました。32Mですと小さいでしょうか。
500文字として1文字あたりUTF-8で3バイトなので、1.5MB程度必要です。
大きくはないですが、500文字程度を送信するには充分と思われます。
送信できないタイミングでのサーバーのエラーログを確認してみてください。
-
この返信は1年、 7ヶ月前に
munyaguが編集しました。
munyaguさん
返信をありがとうございました。
下記のようなエラーが出てきます。
200字制限をした時には出てこないです。Failed to load resource: the server responded with a status of 502 ()
残念ながら、このエラーメッセージだけでは原因はよくわかりません。
このエラーメッセージについてサーバー会社に問い合わせするか、問題解決のためのチェックリストを試してみてください。
munyaguさん
返信をありがとうございました。参考にさせていただきます。もし他にこのようなことで解決された方がいらっしゃいましたら教えてください!
横から失礼します。PHPの設定ファイルPHP.INIに、以下の3つがあります。こちらもサーバープログラムとあわせて設定される必要があるかもしません。
upload_max_filesize, max_post_size, max_execution_time
syntarouさん
ご回答をありがとうございました。こちらの設定というのはレンタルサーバー側の設定でしょうか(ワードプレスではなくて)。
上のやり取りでも記入しましたが、レンタルサーバー側の設定ですと、
max_execution_time:120
post_max_size:32M
upload_max_filesize:32M
という設定がされていまして、契約しているプランではこの数値は変更できないようになっています。よろしくお願いいたします。
サーバーの設定(APACHEですかね?)と、PHPの設定と、ファイアウォールやゲートウェイの設定があると思います。
upload_max_filesizeとpost_max_sizeの違いは? PHPでファイルアップロードする際のサイズ上限設定方法(上尾市のWEBプログラマーによるブログ)
https://ageo-soft.info/programming_languages/php/81/
[PHP] ファイルアップロードの上限サイズを変更する際にさわるディレクティブまとめ(バシャログ)
https://bashalog.c-brains.jp/12/02/02-105952.php
phpの大容量ファイルアップロード(リクエスト)のサイズ最大値の制限解除(prophet staff blog)
https://blog.prophet.jp/3173/#Apache-2
どれに引っかかっているかは、PHPがすこしプログラムしないとわからないと思います。
ローカル環境などで、そのコンタクトフォームは動作しますか?
form自体に、maxlength:400 は設定されてませんか?
あと、max_post_size , post_max_size どっちなのかなー、と思っています。
サーバーによるのか、どちらも複数記事があるんですよね。
サーバーの設定でもないとするとなんでしょうね。気になっています。
また、かなり特殊な方法ですが、APIの有効無効、プラグインのバージョンを操作する方法もあるようです。
Contact Form 7でくるくるのまま送信できない現象を解決するまで(MiyaakiLife)
https://miyazakilife.com/wordpress/9907/
Contact Form 7 くるくるしたまま送信されない時の解決方法(とくしよネット)
https://tokushiyo.net/wordpress/cf7-solution-for-cannot-send/
追記します。先ほどご紹介しました、
contact-form-7-extras
Kaspars Dambisさんによるで、AJAXを無効にすることで、送信ボタン押したさい、
くるくるまわらずにPOSTで、画面がリロードされることを確認しました。スレ主さんも、これを試されてはいかがでしょうか。
ちなみに、GETのURLとして送信している場合、ここで書かれた内容とは違う、
URLの文字数制限にかかるようです。ファイアウォールは一般的には 403 エラーを返しますので、関係がないと思います。
nginx と思われる Web サーバーの設定は関係があるかもしれませんが、同じサーバーの別サイトでは問題がないことから、そちらは問題ないのかもしれません。
また、ユーザー側では設定を変更することができません。upload_max_filesize はファイルのアップロードサイズですので、今回は関係がありません。
max_execution_time は関係があるかもしれませんが、1.2MB程度のテキストを送信するだけの処理でそれほど時間がかかるとは思えません。
post_max_size は既出です。ポストしているサイズに対して問題ないサイズになっていると思われます。
増やして試してみてもいいかもしれないですが、契約しているプランでは変更できないとのことです。サーバー側のエラーですので、form の maxlength も関係がありません。
同じサーバーの別サイトで動作している自前フォームというのがどのようなものか分からないので何とも言えませんが、そちらが Perl などの CGI で動作しているのであれば、PHP の設定が原因である可能性が高いと思います。
PHP の設定が変更できないプランなのであれば、プランを変更するか、別のサーバーで試してみられてはどうでしょうか。
-
この返信は1年、 7ヶ月前に
- トピック「Contact Form 7のテキストエリアで文字数が多いと送信できない」には新たに返信することはできません。