WordPress用絞り込み検索プラグイン »

4月
14
2009
2

「ご注文の確定」でのInternal Server Error 500 が解決。

追記:2010/4/20

いつの時点からか「注文完了時のメールが届かない」とのご報告をいただいたので、再び SMTP → sendmail に設定を戻しました。今度は Internal Server Error 500 は発生せず、メールも無事届いています。

以前「原因不明のInternal Server Errorが「ご注文の確定」ボタンクリックで発生。」という記事を書きましたが、とりあえず解決したのでメモ。

その後、新規インストールを行ってエラーが出なくなったので良かったと思っていたら再発。集中的に調べてみると、原因は「メールの設定」にありました。

結論から書くと、「メール送信 – 接続方法」を、sendmailではなくsmtpにしました。これで解決。トホホ…

解決の糸口の糸口は、こちらのZen Cart本家のフォーラムの書き込みにありました。同じ原因かどうかはわかりませんが、書き込みの中で「メールの送信方法を変えてみろ」とあって気づきました。注文完了時に行われる処理の1つは、注文者と管理者にメールが送信されること。今まではsession関連か共有SSLを使っているからかと思い込み、いずれも簡単には探ることができずに、あても無くさまよっていたのですが。。。

「解決した」といっても、じゃあなぜsendmailだとエラーが出るのかは分かっていません。同じサーバで同じデータベースにある同じバージョンのZen Cart、テンプレートもほぼ同じ(ドメインは別)ショップではまだエラーが出ていないんです。そうすると、それこそ原因はZen Cart側ではなくて、このドメインのsendmailの設定ファイルが壊れた?とかメールサーバ側の問題じゃなかろうか、とすら思えてきます。わかりません。

※メール送信 – 接続方法を「smtp」に変えたら、ページ下部のsmtpアカウント関連の値も設定します。設定しなくてもエラーは出ませんが、メールが送信されません(当たり前か)。

サーバ環境)

  • レンタルサーバ: エックスサーバー X10(サーバ番号: sv67)
  • MySQL: 4.0.27-Max(EUC-JP)
  • ZenCart: 1.3.0.2-l10n-jp-4(EUC-JP)
  • PHP: 4.3.9
  • Apache: 2.0.52
  • OS: Linux
  • CPU: Core2 Duo E6600 ( 2.40GHz )
  • Memory: 4GB
Written by みやざわ in: エラー | タグ: , , ,

Powered by WordPress | Aeros Theme | TheBuckmaker.com WordPress Themes