以下の環境で開発をしています。
OS: windows XP
ActivePerl 5.8.8
apache 2.0.64
レンタルサーバで利用しやすいようにperlスクリプトの第1行目に
#!/usr/bin/perl
を記述していますが、ActivePerl のありどころが C:\dev\perl\bin\なので第1行目を
#!/dev/perl/bin/perl
にしなければなりません。
#!/usr/bin/perlの記述をそのまま使う為に巷でよく言われているようなwindowsのジャンクション機能を利用しています。
Cドライブ直下に「usr」ホルダを作り、ここにC:\dev\perl\bin\のジャンクションを設定しました。
するとC:\usr\を覗くとbin\が存在します。つまりC:\dev\perl\bin\はC:\usr\bin\でアクセスできるようになります。
しかしこの状態で#!/usr/bin/perlの記述をそのまま使うと500エラーが出ます。
これ以外に何か良い方法はございませんでしょうか?
また同じような開発環境の皆様はperlスクリプトの第1行目をどのように対策されていますでしょうか?
宜しく御教授お願いいたします。
No.3
- 回答日時:
#2です。
>モジュールなんかはC:\dev\perl\bin\perl.exe自身が
>C:\dev\perl\bin\siteとかに
>apacheを介さずに直接探しにいくので、ジャンクション設定は関係ないと思っているのですが、私の理解はどこが間違っていますでしょうか?
>教えていただければ嬉しいです。
残念ならが不正解です。
config.plを見てみるとよいでしょう。
No.2ベストアンサー
- 回答日時:
C:\dev\perl\bin\ だけのジャンクションを作成したのが失敗だと思います。
C:\dev\perl\Site やC:\dev\perl\lib など他に色々とフォルダがあり、基本のpmなどはそこから読み込むので。
リソキのlinkd.exeを使っているなら、
> linkd C:\usr C:\dev\perl
とやるべきじゃないですかね。
この回答への補足
ありがとうございます。
おっしゃる通りにC:\dev\perl\bin\と同列のフォルダをとりあえず全てジャンクション設定したら問題解決しました。
しかし正確な仕組みが理解できていません。
モジュールなんかは\siteや\libから検索するのはわかっていますが、これはperl.exeが探しに行くんですよね?違うかな?
ジャンクション設定はapacheにperlのありかを明示するために必要な設定であって
モジュールなんかはC:\dev\perl\bin\perl.exe自身が
C:\dev\perl\bin\siteとかに
apacheを介さずに直接探しにいくので、ジャンクション設定は関係ないと思っているのですが、私の理解はどこが間違っていますでしょうか?
教えていただければ嬉しいです。
No.1
- 回答日時:
この回答への補足
レジストリをいじるのは後で問題があった時、解決させる自信がないので今回は見合わせます。しかしながら参考になりました。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux cronの@rebootでのdateコマンドの実行につきまして 2 2023/06/11 16:23
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- UNIX・Linux postfix smtpサーバーリレーがTLSハンドシェーク失敗 1 2022/08/15 15:45
- CGI -T(汚染モード)でメールが送れません 1 2022/06/12 14:11
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- UNIX・Linux cronでシェルスクリプト実行時のkubactlコマンドが機能しない対処法。 2 2022/08/03 18:58
- Perl Windows10においての『Perl』のプログラムについて 1 2022/05/09 16:04
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- UNIX・Linux デフォルト値のパラメータ展開 1 2022/08/12 17:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
#!/usr/bin/perlで書きだしたCG...
-
#!/usr/local/bin/perl
-
「デバイスは PRN を初期化でき...
-
LCD ディスプレイを Raspberry ...
-
ArduinoのジャイロモジュールMP...
-
Excel VBAでリンク切れをチェッ...
-
モジュールとクラスの違いって...
-
VBAでoutlook365が起動しません。
-
Excel VBAで、ユーザーフォー...
-
Wordで、分かち書きをするVBA ...
-
Excel VBA 定義されたプロージ...
-
Excelで時刻になったら知らせて...
-
powershellで関数名を変更する...
-
グラフのX,Y座標を取得したい
-
vba 標準モジュールインポート...
-
例外処理のフローチャートの記...
-
COBOLで、Shellを起動するには?
-
Perl+DBD::Oracleのエラーがわ...
-
VB.NETでの他アプリケーション...
-
VBAのモジュールについて教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「デバイスは PRN を初期化でき...
-
#!/usr/bin/perlで書きだしたCG...
-
「Perl Command Line InterPret...
-
DBD-ODBCのインストールができ...
-
Perlの実行パスを自動で変更す...
-
【超初心者】異なるディレクト...
-
ActivePerlでWindows上のパスを...
-
「jcode.pl」というファイルは...
-
activeperlでDBD-Pgを扱うと、p...
-
初心者 CGIがうまく表示できな...
-
cpan2rpmでlibwww-perlをインス...
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 定義されたプロージ...
-
例外処理のフローチャートの記...
-
ArduinoのジャイロモジュールMP...
-
ユーザー定義関数に#NAME?が返...
-
VBAで別モジュールへの変数の受...
-
Excel VBA 『Call』で呼び出す...
-
エクセルVBAでシートモジュール...
-
LCD ディスプレイを Raspberry ...
おすすめ情報