
如何將新的 PDO 驅動程式安裝到現有的 LAMP 安裝中?
我正在使用 Amazon Linux(在 AWS EC2 上),並從 Amazon 儲存庫安裝了 PHP 5.5 和 MySql。當我查看時,phpinfo
我可以看到 PDO 以及 PDO_SqlLite 已成功安裝。我需要添加 PDO_MySql。
根據我所讀到的內容,我可以重新編譯包含 PDO_MySql 的 PHP,或從儲存庫下載它。第一個選項聽起來像是一項艱苦的工作,而且可能非常混亂。第二個選項很好,但據我所知,Amazon Linux yum 儲存庫不包含 PHP 5.5 的 PDO_MySql 驅動程式。 (我可能是錯的,因為我是百勝新手)。
還有哪些其他選擇?如果我只是從某個地方下載 .so 文件,將其與其他 .so 文件放在一起,並在我的 php.ini 中調用它,會發生什麼?
我使用的是 AMI 2013.09。
更新:這個 pecl 鏈接,http://pecl.php.net/package/PDO_MYSQL,表示 PDO_MySql 已移至 PHP 來源。也許這只是啟用它的問題?
答案1
我沒有使用過 EC2,但如果它不包含 php-mysql(這是一個基本的 LAMP 元件),我會感到驚訝。sudo yum install php-mysql
對你有用嗎?
如果沒有,您在 yum 中丟失了一些重要的存儲庫,您最好的選擇是添加它們。我對此了解不多,但我確信這裡的其他人可以提供幫助。
是的,您可以從另一台主機複製文件,只要它具有與您的主機相同的體系結構(運行arch
以檢查),並且連結到您的主機上存在的庫版本,這可能是正確的。以下是您需要的文件:
$ rpm -q php-mysql -l
/etc/php.d/mysql.ini
/etc/php.d/mysqli.ini
/etc/php.d/pdo_mysql.ini
/usr/lib64/php/modules/mysql.so
/usr/lib64/php/modules/mysqli.so
/usr/lib64/php/modules/pdo_mysql.so
但一般來說,使用主機的套件管理器來安裝這些檔案並使它們保持最新會更好。我不認為 php-mysql 有任何安裝腳本,但許多其他軟體包有,如果您只是複製這些腳本中的文件,則不會運行。
pdo_mysql 是 PHP 原始碼的一部分,但發行版將其從主 PHP 套件中分解為一個單獨的套件。