starman を使用して plackup で Web アプリを実行しており、ユーザーの要求に基づいてパッケージを動的に読み込んでインスタンス化しようとしています。「require $packageName;」を使用しています $packageName にパッケージの名前が含まれるパッケージをロードするには、名前が構成ファイルに保存されます。次に、すべてのクラスが基本クラスから継承され、一連の既知のメソッドが含まれているため、インスタンスで既知の一連のコマンドを実行します。
これは Apache では問題なく動作しますが、何らかの理由で、@INC にライブラリ パスが含まれていて、パッケージ名が lib パスの最後のディレクトリからの絶対パスであるにもかかわらず、plackup がパッケージを見つけることができないと言っています。つまり、パッケージ名は Base::My::Package になります。
誰でもこの問題が発生しますか? Starman 内の他のパスを更新する必要がありますか? -I フラグを指定して plackup を実行し、環境の PERL5LIB 変数を更新しています。'use lib /...'
メインアプリクラスでも試しましたが、どれも機能しません。
ありがとう