2014-01-29 18 views
1

我繼承了一個龐大的工程,和我有一個實時只是想獲得它的腿該死的東西。我每次運行該項目,在所有的Strict StandardsDepreciated通知是一個錯誤:PHP梨 - 「MDB2 驅動程序 mysql.php」失蹤

Failed opening 'MDB2\Driver\mysql.php' for inclusion

從我讀過,停止被包含在默認安裝的梨DBMS驅動程序在五年前......所以我如何解決這個問題,以便它不再使用mysql.php,或者我的梨安裝有它?

據梨網站,我只需要鍵入:pear install MDB2_Driver_mysql但我知道這將不只是得到更好的改變的代碼?

謝謝!

+0

有時候從零開始寫所有東西都會更好。作爲一個解決方案,我仍然試圖去找那個庫,然後部分替換所有的臭味代碼。但那會是壞話的噩夢。 –

+0

@ MaximKhan-Magomedov如果只有現有的項目不是那麼龐大,並且只是變化的預算不是很小! :( –

+1

那麼你只能流程一步一步克服疼痛和痛苦。我知道那種感覺,我已經工作了一年類似的項目。所以,你只需設置使用error_reporting排除E_STRICT(讓你的頭腦健康)和步驟一步重構是腐肉。然後,如果舊的架構仍然活着,你再次啓用E_STRICT,如果這些錯誤仍然存​​在,嘗試蝕刻他們。或者你剛剛結束了在淋浴哭泣。 –

回答

0

這聽起來像你想運行一個版本的PHP不喜歡的一些代碼,老版本的PHP代碼。

也看到你實際上必須安裝,以實際訪問DB2數據庫運行WAMP在PC上this for some insight。在嘗試通過PECL進行安裝之前,您確定已安裝了所有這些設備嗎?

+0

PECL?他沒有提到PECL,它更多用於安裝PHP擴展而不是PHP代碼包,也沒有提到訪問DB2數據庫,他需要通過MDB2 pear包訪問MySQL。 – kguest

1

你說這個項目很大,所以我建議你不要重寫它來使用不同的數據庫訪問庫,因爲這可能會推出你的發佈日期,而只是安裝所需的MDB2驅動程序。

安裝MySQL驅動程序,只是做:

# pear install --alldeps MDB2_Driver_mysql 

(也許可以考慮使用替代的mysqli驅動程序)

如果你決定遷移項目中使用不同的庫,我d建議Doctrine,因爲它是那裏成熟的DB庫之一。