Web Juice

古いCGIが動かない・500エラーでの対応方法 jcode.pl timelocal.pl perl5 以降の場合

投稿:     更新:2019/11/25

新しいサーバーに移設した際に、CGIが動作しない。

perl4のサーバーから、perl5.xx のサーバーへ移動した際に、エラーで動作しなくなりました。
※パーミッションに関しては、各サーバーにてご確認ください。(サーバー環境としてCGIが動作する状態でのエラーが前提です)

jcode.plでのエラー

古いCGIを使用していたのですが、下記のようなエラーで動作しませんでした。
エラーの内容
defined(%hash) is deprecated at jcode.pl line xxx

【エラーのjcode.pl の記述】
(xxx行目からの記述)

上記エラーになる記述を以下に変更することでエラーが解消されました。

【変更後のjcode.pl の記述】

参照:https://piano2nd.smb.net/PukiWiki/index.php?jcode.pl

timelocal.plのエラー

エラーの内容
Can’t locate timelocal.pl in @…

timelocal.pl は、perl4でのモジュールで perl5.xx では動作しない為、以下のように変更しました。
【エラー時の記述】

上記の記述があるファイルを以下の記述に変更

【変更後の記述】

今回は上記で解決しました。めでたしめでたし。

 - サーバー関連