我正在使用 starman 在 plackup 下运行一个 Web 应用程序,并尝试根据用户请求动态加载和实例化包。我正在使用“需要 $packageName;” 要加载包,其中 $packageName 包含包的名称,名称存储在配置文件中。然后我在实例上执行一组已知的命令,因为所有类都继承自基类并包含一组已知方法。
这在 Apache 下工作正常,但由于某种原因,plackup 说它无法找到包,即使 @INC 包含库路径并且包名称是库路径中最后一个目录的绝对名称。也就是说,包名是 Base::My::Package。
有人遇到过这个问题吗?我是否需要更新 Starman 中的其他路径?我正在使用 -I 标志执行 plackup 并更新我的环境 PERL5LIB 变量。我也在主应用程序类中尝试过'use lib /...'
,但这些都不起作用。
谢谢