トピックの内容と返信
-
【1】ヘデラ様のトピック投稿
2024年5月9日 14:25:21初めてFormKitを使用させていただきました。
設置も簡単で大変利用しやすいのですが、本日本サーバーへUPしたところPHP8で動作しませんでした。PHP7.4に下げ問題なく動作いたしましたが、
今後PHP8へ対応する予定はあるでしょうか?
もしくは簡単に書き直してPHP8へ適用させることはできるでしょうか?
よろしくお願いいたします。 -
【2】事務局T様の返信
2024年5月9日 17:36:00ご連絡ありがとうございます。
PHP8対応要望のご連絡ありがとうございます。
時期は保証できかねますが、対応を検討いたします。
お待ちいただければ幸いです。
m(_ _)m -
【3】ヘデラ様の返信
2024年5月9日 17:48:08ご返信ありがとうございます。
了解いたしました。
お忙しい中、丁寧なご対応をしていただき、誠にありがとうございました。 -
【4】事務局T様の返信
2024年5月10日 11:58:00FormKit のPHP8対応調整を行いましたのでご連絡いたします。
以下から最新版(v1.2.22)をダウンロードしてお試しいただければと存じます。
※既存フォームのアップデートの場合は、新しいバージョンの /lib/ ディレクトリを入れ替えていただければOKです。
https://kantaro-cgi.com/program/formkit/version/
尚、以下のバージョンで動作テストしております。
・PHPバージョン8.0.27
・PHPバージョン8.1.17
・PHPバージョン8.2.10
上記以外のバージョンで動作に問題がございましたらご連絡いただければと存じます。
以上、何卒よろしくお願いいたします。 -
【5】ヘデラ様の返信
2024年5月10日 12:07:32ありがとうございます!!!!!!!!!!
現在テストできるPHP8のサーバーがないのですが、
直近で新サーバー契約する予定があるので、その際試させていただきます<m(__)m> -
【6】ヘデラ様の返信
2024年6月6日 18:03:17先日サーバーを契約し、FormKit のPHP8の最新版(v1.2.22)バージョンを試してみました。
すると、gmailでの受信では問題なく表示されていますが、
メールソフト(Outlookやサンダーバード)で受信したメールが全て文字化けしておりました。
サーバーのphpを7.4に落とし、前のバージョン1.2.21で試したところ、文字化けは起こりませんでした。
こちらの文字化けは修正ご対応いただくことは可能でしょうか?
よろしくお願いいたします。 -
【7】事務局T様の返信
2024年6月7日 09:11:49ご迷惑をおかけして大変申し訳ございませんでした。
お調べしましたところ、前回PHP8対応のために内部ライブラリ(PHPMailer)のバージョンアップしているのですが、その影響で古い文字コード対応が正しくサポートされなくなっていたようでした。
設定ファイルでUTF8を有効にすることで文字化けを解消されることを確認しましたので、こちらお試しいただけますと幸いです。
-------------------------------------------
'is_utf8' => false,
-------------------------------------------
↓
-------------------------------------------
'is_utf8' => true,
-------------------------------------------
以上、お手数をお掛けいたしますが、何卒よろしくお願いいたします。 -
【8】ヘデラ様の返信
2024年6月7日 10:01:23早速のご対応ありがとうございます。
configファイルの該当2箇所修正したところ、文字化けしなくなりました。
いつも素早い対応ありがとうございます。 -
【9】KN様の返信
2024年6月19日 18:42:52事務局T様
いつもお世話になっております。
本件に関連する内容のため、当トピックへの書き込みにて失礼いたします。
まずは、PHP8へのご対応ありがとうございます。
当方でも、運用中のフォームに対してPHP8へ対応するために、
「ver 1.2.23」をDLさせていただきました。
PHPを7から「8.2.20」にバージョンアップしたテストサーバにて、
御社サンプル(StepForm)を検証したところ、
見た目では特に問題無く動作をするのですが、
PHPエラーメッセージの表示状態(「ini_set」「error_reporting」の2行を記述)で閲覧をすると、
「Passing null to parameter #1 ($string) of type string is deprecated」
のエラーが発生しているようでした。
「PHP8.1から標準関数にnullを指定するとエラーとなる仕様」になったとのことで、
strlen、preg_replace、htmlspecialchars等の関数にて、
発生しているものと思われます。
※参考URLの記事を参考にいたしました
サンプルフォームでは、DOCTYPE前へのPHPエラーメッセージとなるため、
見た目上の挙動としては問題無いのですが、
当方にて運用中のフォームに対して、
libディレクトリのみを上書きして検証をしたところ、
PHPエラーメッセージの非表示状態(「ini_set」「error_reporting」の記述なし)で閲覧をしても、
本文中にPHPエラーメッセージが表示されてしまいました。
(当方での検証では htmlspecialchars にて発生いたしました)
/lib/helpers.php や /lib/template-methods/standard.php など、
該当するコーディングが多数見受けられるため、
当方独自のカスタマイズは行わない方が良いかと思い、
ご相談させていただきます。
なお、PHPを「8.0.30」まで下げると、
PHPエラーメッセージは発生しませんでしたが、
「8.0」もすでにPHPサポートが終了しているようですので、
やはり「8.1」以上での運用ができるようになることが望ましいかと思います。
ご確認いただき、何かしらのご対応をいただけると幸いでございます。
何卒宜しくお願い申し上げます。 -
【10】事務局T様の返信
2024年6月20日 17:18:23ご連絡ありがとうございました。
ご提示の問題を当方でも確認いたしました。
改修までお待ちいただければと存じます。