[英]What native mysql class should I port to from Zend_Db? ( No PDO or Mysqli )
[英]Zend_DB - Use native MySQL adapter instead of MySQLi or PDO?
我要移植到的服務器沒有啟用 PDO 或 Mysqli 擴展(盡管它正在運行 PHP5)。 我在Zend/Db/Adapter
中沒有看到任何MySql.php
類 - 使用本機 MySQL 是否有一些約定? 還是某種解決方法? 也許使用舊版本的Zend
?
而且我無權修改php.ini
。
在從事 ZF 項目的同時,我也從事 Zend_Db 適配器的工作。
我們不能為普通的 MySQL 擴展支持Zend_Db 適配器,因為 Zend_Db 的大部分依賴於准備好的語句,以及僅在 MySQLi 和 PDO_MySQL 擴展中發現的其他特性。
使用 MySQL 擴展沒有任何優勢。 沒有什么“原生”的。 它只是 MySQL 客戶端庫的 API 綁定。
我建議您啟用 MySQLi 或 PDO_MySQL 之一,但您說您無權執行此操作。 那么你的選擇是:
我推薦第一選擇。
用戶@farzad 聲稱他已經為 ext/mysql 實現了 Zend_Db 適配器,但不得不犧牲 Zend_Db 的一些功能。
不,沒有本機適配器。 但是你可以嘗試自己寫,很簡單。 您甚至不需要創建其他適配器具有的所有方法(但您必須實現所有抽象方法 - 至少將它們留空,否則您將收到致命錯誤)。 您可以使用 Mysqli 適配器(例如)作為您的基礎(我認為,不是基類,而是代碼示例)。
class My_Db_Adapter_MySQL extends Zend_Db_Adapter_Abstract {
// your code
}
然后只需使用 My_Db_Adapter_MySQL 作為適配器的名稱
這個工作正常: https ://github.com/beberlei/Zend_Db-Adapter-for-ext-mysql
我同意其他答案,如果可以的話,你應該啟用 mysqli 或 pdo_mysql 。 由於我們不是生活在一個完美的血腥世界中,開發人員總是可以控制他們的部署環境,但是,我想我實際上也會給你你所要求的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.