Apache-2.2

MySQL 4.0、PHP 5.3 和 Server 2008

  • March 28, 2011

我馬上就知道這兩個版本不能很好地結合在一起,但奇怪的是,XAMPP 以某種方式允許它發生。我們有一台執行 XAMPP 的機器,它以某種方式(在我之外)允許 PHP 5.3.1 與 MySQL 4.0.18 數據庫通信。我們嘗試複製此設置(減去 XAMPP)並在新機器上安裝相同版本的 Apache、MySQL 和 PHP,但從邏輯上講,我們被困在試圖繞過以下錯誤消息:

警告:mysql_connect():不支持連接到 3.22、3.23 和 4.0。第 3 行 C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\nktest.php 中的伺服器為 4.0.18-max-debug 警告:mysql_connect():不支持連接到 3.22、3.23 和 4.0 伺服器C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\nktest.php 第 3 行失敗:不支持連接到 3.22、3.23 和 4.0 伺服器

不幸的是,我們被困在 MySQL 4.0.18 上,因為我們在那個盒子上執行的應用程序需要它並且帶有預建構的版本。我們還需要使用 PHP 5.3,因為另一個包依賴於它,因此我們被卡住了。我試圖弄清楚 XAMPP 在幕後做了什麼來完成所有這些工作,但我似乎無法理解它。

簡而言之,有沒有人知道在 Windows Server 2008 機器上啟用與帶有 PHP 5.3.1 的 MySQL 4.0.18 數據庫的連接的方法?應用程序需要訪問所有標準 MySQL 庫函式,即 mysql_connect(),因此不能嚴格使用 mysqli。

我們最終通過做兩件事來完成這項工作:

  1. 在 Windows 上使用 –disable-mysqlnd 標誌編譯 PHP 5.3.1 2) 從編譯中省略 mysqli。

PHP 5.3.1 現在正在與 MySQL 4.018 對話,唷。

XAMPP 做了一些在面向 Web 的伺服器上執行並不嚴格安全的黑客行為來實現它

是否有任何原因您不能在系統上執行 2 個 php 二進製文件並為需要 mysql4 db 的站點呼叫舊版本,是否還有任何原因無法升級或替換預建版本?應用程序肯定可以以不需要自己的預建構版本的方式從數據庫中分離出來嗎?

另一種選擇是將mysql4應用程序放在伺服器上的VM上以執行舊版本的php,然後您可以為其他站點執行最新版本的mysql和php

引用自:https://serverfault.com/questions/249142