このブログを検索

2026/07/12

サーバーを変更したら、フォームメール( postmail.cgi )のCGIが動かなくなった件

 サーバーマシンを新しいマシンへ変更すると、CGIやPHPのスクリプトが動かなくなるケースが多い。
特にCGIの場合、古いものを使っていることが多く、仕様が変わっていたりするケースもある。

さて今回、新しいマシンでフォームメールが「500 Internal Server Error」が出て動かなくなってしまう、という事象が出た。
このエラーだけだと詳細が分からないのでとりあえずログを見ると、

End of script output before headers: postmail.cgi

というエラーが出ていた。
何らかの理由でCGIスクリプトが異常終了した、ということなのだろうが、これでも原因が分からない。
こうなると、SSHでコンソールで、直接コマンドを入力して実行してみるしかない。

./postmail.cgi

と入力したら、

Can't use 'defined(%hash)'   jcode.pl line 684

というエラーメッセージが出てきた。
どうやら、postmail.cgi から呼び出される jcode.pl の684行目に問題があるらしい。

さっそく Google検索で、このエラーメッセージ
Can't use 'defined(%hash)'   jcode.pl line 684」をそのまま入れてみると、

次のような答えた返ってきて、そのとおりに修正したら、見事にcgiが動作した。

従来のGoogle検索だけでも探せば答えにたどり着いたかもしれないけれども、
解決策がストレートに出てきたのは嬉しい。

以下、GoogleのAI回答:





0 件のコメント:

コメントを投稿

「ドメインサービス」ページのリニューアル第一歩!

当社は、ドメインとサーバーを提供するサービスであるが、 ここ数年間、新規のお客様の募集をしてこなかった。 ストックビジネスなので、既存のお客様からの安定収益があれば、 特に大きな投資等を行わない限り、何とかやっていけるからである。 でも今年は、サーバー代の仕入原価がものすごく高騰...