[perl] Locale 'Japanese_Japan.932' is unsupported, and may crash the interpreter.
タイトル
編集:2024.08.03
さくらインターネット
perl 5.14.4しかないかと思っていたら、標準perl(推奨)に変更すると
標準perl5.35.32.1
に変わった。
切り替え前にもサーバー管理画面にバージョン表示しなさいよ。
で、標準perl(推奨)にするとCGIがエラーでなります。
仕方がないので、ローカルでコードをデバッグすることに。
ローカルで実行したらローカル環境はいつの間にかGDで落ちるようになってしまっていた。
cpanエラーで動かない
気を取り直して、strawberry-perl-5.38.2.2-64bit-portableをインストール
コマンドプロンプト(管理モード)
rmdir default
MKLINK /D default 5.38-portable
ライブラリインストール
コピペして終了
...
最新版をいれると日本語だめとかいうので、
コードをUTF8に変更
(2) コードページ変更 UTF8
(3) 先頭近くに 以下を挿入
use utf8;
(4) 保存
Locale 'Japanese_Japan.932' is unsupported, and may crash the interpreter.
はい?
お手上げなので 元BING先生 に聞く
Strawberry Perlのバージョン5.36.1.1を使用することで、このエラーを回避できることが報告されています
おぇ・・・ゲロゲロ
Locale 'Japanese_Japan.932' is unsupported, and may crash the interpreter.
This is perl 5, version 38, subversion 2 (v5.38.2) built for MSWin32-x64-multi-thread
perl -vすれば動くかわかるみたい。
ゴミなので 5.38.2は アンインストール
ダウンロード
https://strawberryperl.com/releases.html
This is perl 5, version 36, subversion 3 (v5.36.3) built for MSWin32-x64-multi-thread
5.14の時と同じで動かない
Windowsでperlを実行するのは もう限界のよう
解決
set PATH=C:\Windows\System32;C:\Windows
call portableshell.bat
cd スクリプトのあるフォルダ
perl スクリプトファイル名
動作した。
echo %PATH%
これがたりないのですね
原因: 環境変数"PATH"
C:\Program Files\perl\default\perl\site\bin;
C:\Program Files\perl\default\perl\bin;
C:\Program Files\perl\default\c\bin;
1番目と3番目のパスを設定していなかったからエラーになったみたい。
apacheのconfに環境パスを設定する場合
こちらの環境では、この設定でperl動作せず。
apache再起動 エラー
別ルートで対応する
perl.batを作成する
perl.bat
@setlocal
@CALL C:\Program Files\perl\default\portableshell.bat /SETENV
@SET PATH=C:\Windows\system32;C:\Windows;%PATH%
@rem CODE PAGE UTF-8
@chcp 65001 > nul
@perl.exe %*
@endlocal
リンク先を確認
apache確認 OK アクセス エラー解消