この問題を解決するのに役立つ人が見つかりません。最近の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 -v
5.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スクリプトを実行するように構成する方法が記載されていないため、これが私が言うことができるすべてです。