簡體   English   中英

使用MySQL 5.6版從源代碼編譯PHP

[英]Compiling PHP from source with MySQL version 5.6

我正在嘗試從源代碼編譯PHP以使ZTS正常工作。 我有PHP的源代碼,我嘗試安裝依賴項

apt-get build-dep php5

我也為Ubuntu 14.04LTS安裝了MySQL 5.6,我在命令后收到此錯誤:

以下軟件包具有未滿足的依賴項:mysql-server:取決於:mysql-server-5.5但不會安裝E:無法滿足php5的構建依賴性。

無論如何都可以繞過這種依賴,因為MySQL 5.6與預構建的PHP5一起工作正常但我無法開始編譯,因為依賴項缺失了? 謝謝!

雖然不是同一個問題,但這個MySQL錯誤報告暗示了一個解決方案。 請嘗試以下步驟:

  1. 卸載mysql-client-5.6和mysql-server-5.6: [sudo] apt-get remove mysql-client-5.6 mysql-server-5.6

  2. 啟動你的[sudo] apt-get build-dep php5命令。 在再次升級之前,允許自動構建必要的依賴項。

  3. 重新安裝mysql-5.6。 這應該替換對mysql-5.5的所有引用。 使用命令[sudo] apt-get install mysql-client-5.6 mysql-server-5.6

這只是在黑暗中拍攝,但你可以嘗試首先使用所需的PHP構建安裝mysql 5.5,一旦完成,將mysql升級到5.6

為什么使用apt-get build-dep而不是install? 根據apt-get的手冊頁,“build-deps”將嘗試刪除已安裝的軟件包以解決依賴關系,這里是mysql-server-5.6。 我只是使用安裝,它的工作原理。

apt-get install php5

為了測試php是否正在使用mysql-5.6我使用apt-get安裝了PhpMyadmin並且它可以正常使用5.6,你可以做同樣的事情,並在Variables頁面中檢查名為“Version”的變量。

正如FYI apt-get build-dep與源代碼構建不同。

由於這個問題是關於從源代碼安裝PHP5:
apt-get build-dep是值得懷疑的。
依賴關系檢測應該對應於與中相同的定義
提供的php5 - debian - 包。
據我了解,您希望擁有不同的構建配置
但是,對於你的php5安裝。
所以這通常是./configure --your-configure-options的過程
並進行干凈的編譯安裝。
由configure調用生成的依賴項定義
不會被導出也不會被apt看到。
所以你必須自己解決這些問題,安裝
正確版本的軟件需要構建您的php5 - 安裝
也許開發 - 包提供構建所需的正確標頭。

PHP無法從Ubuntu 14.04開箱即用的Git checkout編譯。

歡迎來到依賴地獄。

嘗試從預編譯下載進行編譯

Git結賬無法編譯的原因是因為Bison的依賴性問題。 Ubuntu 14.04有Bison~3.0.0,編譯PHP需要Bison~2.0.0。

checking for bison... bison -y
checking for bison version... invalid
configure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: 3.0, min: 204, excluded: 3.0).
configure: error: bison is required to build PHP/Zend when building a GIT checkout!

解決方法

這是一個使apt-get build-dep php5成功運行的解決方法。

  1. 完全刪除MySQL(不僅僅是相關的5.6包)

    完全刪除任何和所有MySQL包和任何配置文件非常重要。 您可以通過運行dpkg -l | grep mysql來檢查安裝了哪些mysql軟件包 dpkg -l | grep mysql看看'ii''rc'這樣的各種dpkg標志是什么意思?

    使用清除選項卸載軟件包: apt-get remove --purge <package name>

    您可能還需要手動刪除一些文件。 閱讀apt-get remove --purge打印的消息,它會告訴你它是否沒有刪除某些文件以及它為什么不刪除它們。 您需要手動刪除apt-get未刪除的文件。 它們很可能是/etc/mysql目錄中的某個文件。

  2. 運行apt-get build-dep php5

    這使得apt-get build-dep php5成功運行並將安裝MySQL 5.5!

  3. 確保已安裝libmcrypt-dev

    稍后當你嘗試編譯時,你會收到抱怨readlinemcrypt錯誤,例如:

     configure: error: Please reinstall readline - I cannot find readline.h 

    所有這些錯誤都可以通過安裝libmcrypt-dev來解決。 :)花了我太長時間來解決這個問題。

     apt-get install libmcrypt-dev 
  4. 完全刪除MySQL

    像在第1步中那樣完成整個過程,除非這次你要刪除5.5。

  5. 安裝MySQL 5.6

故障排除:當您嘗試編譯時仍然會出現錯誤?

確保已安裝libmcrypt-dev

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM