在我的情況下,我試圖在當前需要使用php 5.3的服務器上使用作曲家軟件包「jeremykendall/password-validator」 .3-7 + squeeze19。PHP作曲家,在5.3.3-7 + squeeze19上使用指定5.3.7的軟件包
但是這個lib需要php 5.3.7。
有關如何解決此問題的任何想法?或測試它是否有效?
我在想我可以fork lib來測試,但有沒有人知道任何作曲家功能,可以幫助在這裏?
在我的情況下,我試圖在當前需要使用php 5.3的服務器上使用作曲家軟件包「jeremykendall/password-validator」 .3-7 + squeeze19。PHP作曲家,在5.3.3-7 + squeeze19上使用指定5.3.7的軟件包
但是這個lib需要php 5.3.7。
有關如何解決此問題的任何想法?或測試它是否有效?
我在想我可以fork lib來測試,但有沒有人知道任何作曲家功能,可以幫助在這裏?
問題庫有一個測試套件。只需在你的5.3.3盒子上運行它的測試,如果他們工作,你可以更有信心使用它。
我會推測他們可能不會:作者必須有一個很好的理由來指定特定版本的PHP。 5.3.7中可能存在一部分庫所依賴的錯誤修正。
在這種情況下,我建議您編寫幾個自己的單元測試,以確保使用該庫的代碼部分仍可在該環境中工作。
我懷疑的要求,原因是相同ircmaxell's more famous password_compat library:
要求
此庫要求
PHP >= 5.3.7
或具有$2y
修復移植入它的版本(如RedHat提供)。請注意,Debian的 5.3.3版本是不支持。由於此版本問題,運行時檢查已被刪除。要查看 如果password_compat可用於您的系統,請運行附帶的
version-test.php
。如果它輸出「Pass」,則可以安全地使用 庫。如果沒有,你不能。如果您嘗試在不支持的版本上使用password-compat, 會嘗試創建或驗證散列將返回
false
。你一直在 警告!原因是5.3.7之前的PHP包含一個security issue with its BCRYPT implementation。 因此,強烈建議您在使用此圖層之前升級到PHP的更新版本 。
這聽起來像你的5.3.3版本則不有反向移植修復(基於它看起來基於Debian,確認自己是否修復已專門回遷到您的版本或沒有),讓您真正不應該在5.3.3上運行此代碼(或任何基於bcrypt的代碼),因爲它可能會使您面臨實際的安全漏洞。
感謝@ bcmcfc,我正要嘗試這個,但接下來的其他答案進來解釋說,我不應該因爲php的bug而打擾這個用例。但是我將其標記爲正確的答案,因爲在其他情況下,檢查一個庫是否可以工作,這是正確的方法,謝謝! – stilliard
實際上,這個答案建議「嘗試運行測試,如果他們測試PHP bug或功能,他們希望會失敗,然後......」 - 您仍然無法使用Composer添加庫,並且您必須希望測試覆蓋錯誤或功能。我更喜歡其他答案。 – Sven
@即使問題問「我該如何解決這個問題,或測試它是否有效」。由於它不能得到解決,後者至少可以得到回答。 – bcmcfc