shebang #!/usr/bin/perl および #!/usr/local/cpanel/3rdparty/bin/perl で使用されるパスの変更

shebang #!/usr/bin/perl および #!/usr/local/cpanel/3rdparty/bin/perl で使用されるパスの変更

この問題を解決するのに役立つ人が見つかりません。最近のcentosアップデートの後、私のCGIスクリプトは次のものを使用します。

#!/usr/local/cpanel/3rdparty/bin/perl

または

#!/usr/bin/perl

以前のPerlバージョン5.16.3を使用しようとしています。

ただし、現在cpanelバージョン5.30.0を使用する必要があります。

SSHにログインして実行すると

/usr/local/cpanel/3rdparty/bin/perl -v5.30.0を取得

そのため、Shebangが使用するパスを編集し、それを次のように編集する必要があります。/usr/local/cpanel/3rdparty/bin/perl

助ける?

ベストアンサー1

Perlスクリプトで-lineが適用されないようであれば#!(ここではそうです)、スクリプトが次のように書かれている可能性があります。明らかに通訳者、例えば

perl somescript.pl

この場合#!- 行は完全に無視され、実際 perl使用されるバイナリは$PATH

スクリプトの呼び出し方法を変更できる場合は、理想的にはそれを変更して明示的なperlコマンドを削除する必要があります。これにより、#!スクリプトで-linesが有効になります(スクリプトが実行可能であると仮定)。

あるいは、見つかった最初のバイナリが使用したいバイナリになる$PATHように変数を並べ替えることもできます。perlたとえば、次のように設定できます。

PATH=/usr/local/cpanel/3rdparty/bin:$PATH

CGIスクリプトを実行するための環境です。これにより問題が解決します。〜しない限り呼び出しはusr/bin/perl明示的です。質問には、どのWebサーバーソフトウェアまたはフレームワークが使用されているか、Perlスクリプトを実行するように構成する方法が記載されていないため、これが私が言うことができるすべてです。

おすすめ記事