使用 PDO MySQL 編譯 PHP 5.1.6
更新
我在 StackOverflow 上問過這個問題,因為當時我在這裡沒有得到任何答案。 為了完整起見,這是答案的連結。一旦我嘗試了以下 Dan C 的解決方案,我會喜歡該頁面。
原版的
不久前,我們的一個大客戶轉移到了一個託管服務提供商,該提供商指定了一個軟體環境,該環境在所有實時伺服器上都是一致的。
其中包括 Apache 2.2.8 和 PHP 5.1.6。
我們有一個用於開發的 ubuntu 8.04 伺服器,這些版本的 Apache 和 PHP 不是預設安裝的。所以我不得不從原始碼編譯它們。這些版本已經愉快地執行了一年多。
我們正在開始一個新的站點建構,我們想使用需要 PDO_MySQL 的 ZendFrameword。
我嘗試使用以下內容重新編譯…
./configure --with-apxs2=/usr/local/apache2/bin/apxs \ --with-config-file-path=/user/local/apache2/conf/php.ini \ --with-curl=/usr/lib/ --with-mysql=shared --with-mysqli=shared \ --with-zlib --with-gd --with-jpeg-dir=/usr/local/lib/ \ --with-freetype-dir=/usr/lib/ --enable-soap --enable-pdo=shared \ --with-pdo-mysql=shared --with-sqlite=shared ... make ... make install ... libtool --finish /sources/php-5.1.6/libs
一切正常,當我恢復 apache 時,它會在 phpinfo() 中顯示新的 ./configure。
執行此操作後,MySQL 停止工作,MYSQL 部分消失,msyql 停止工作。
make、make install、libtool… 將 *.so 文件放入
/usr/local/lib/php/extensions/no-debug-non-zts-20050922
我之前使用的啟用 MySQL 但未啟用 PDO 的配置是
./configure --with-apxs2=/usr/local/apache2/bin/apxs \ --with-config-file-path=/user/local/apache2/conf/php.ini \ --with-curl=/usr/lib/ --with-mysql --with-mysqli \ --with-zlib --with-gd --with-jpeg-dir=/usr/local/lib/ \ --with-freetype-dir=/usr/lib/ --enable-soap
我不是一個龐大的 *nix 人,誰能告訴我哪裡出錯了。
謝謝
第一的:
您的
--with-config-file-path
標誌中有一個無關的“e”。如果錯字也在你的真實中
configure
,那麼它可能是你的問題的原因。第二:
PHP 需要知道從哪裡載入擴展。
您可以通過
php.ini
如下編輯來告訴它搜尋您記下的目錄:extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20050922/"
請注意:
反斜杠是續行的常用符號。
如果您將命令複製/粘貼到終端,您的 shell 將安全地解釋它們。