好吧,經過12小時的挖掘,我得到了這個工作。
這是發生了什麼(但不是爲什麼)。每當我在引用的use
或require
語句(如發生在Class :: Loader中,但也在Crypt :: framwork中的其他位置)上調用eval()
時,它看不到包含在Perl類路徑中的路徑。由於大多數引用的使用/要求對象只是假設該類將在那裏,所以很少有有用的錯誤被拋出。我會將@INC
轉儲到eval塊外的文件中,並且所有內容都將在那裏。具有諷刺意味的是,我在dev和staging中使用了相同的設置,它在dev中工作,但在分段中不起作用。我還必須指出,FindBin(我不應該在CGI中使用它,我知道,但Crypt使用它)在啓動時大約在/ dev/null上閃爍,但在開發過程中卻沒有。
由於我無法輕鬆比較版本或全局配置,這就是我的追求結束的地方。
我如何在Crypt :: RSA中爲自己解決問題是禁用與FindBin相關的所有命令,並且爲我的代碼訪問的任何內容禁用硬編碼requir
e參考。我在Crypt :: RSA for Crypt :: RSA :: ES :: OAEP中執行了一個要求,在Crypt :: Random :: Generator for Crypt :: Random :: Provider :: rand中執行了一個要求:
希望這可以幫助任何人未來誰有這個問題。任何人都可以爲此提出建議,請回復,我將添加它以完成該帖子。
您是否嘗試過運行Crypt :: RSA的測試? – innaM 2009-01-14 16:14:55
是的,他們都完美成功。 – user54650 2009-01-14 17:18:07