linux下PHP pdo_myql mysqli phpmyadmin 的問題,折騰一早上6點到8點
伺服器重新配置了下,自己的一個專案剛預開發遇到了個問題
大早上起來看了下phpinfo() 的頁面 好吧!上次偷懶,只有個mysql 的擴充套件
於是找了資料開始增加擴充套件:
詳細如下不廢話了
先搞定第一個問題 PDO_MYSQL
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
tar zxvf PDO_MYSQL-1.0.2.tgz
解壓縮排入到擴充套件編譯的目錄
cd PDO_MYSQL-1.0.2
/usr/local/php/bin/phpize //這裡是你php安裝目錄下的一個檔案,需要先執行一次
然後
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql/
前面是php的配置檔案 後面是msql的資料夾
make
make install
編譯和安裝後配置php.ini 檔案
vi /usr/local/php/lib/php.ini //新增擴充套件
#pdo_mysql
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/pdo_mysql.so
如果找的煩躁用這個速度查詢
在vi命令模式下輸入
/extension
然後按鍵盤的N按鍵,意思就是找到這個單詞,下一個單詞切換
好了,這裡重新啟動apache伺服器
/usr/local/apache/bin/apachectl -k restar
再看一下phpinfo的頁面已經有了PDO_MYSQL
第二個問題是我們常用的是mysqli來連線資料庫例如
$mysqli = new mysqli("localhost", "root", "root", "MY_DB"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } $query = "SELECT user_name FROM `MY_DB`.`LOL_DD_USER_INFO` "; if ($result = $mysqli->query($query)) { /* fetch associative array */ while ($row = $result->fetch_assoc()) { echo $row["user_name"]; echo "<br />"; } /* free result set */ $result->close(); } /* close connection */ $mysqli->close();
繼續解決第二個問題 php支援 mysqli
找到php編譯的原始檔目錄
例如我這裡是臨時目錄
cd /a/2/php-5.2.17/ext/mysqli/
/usr/local/php5/bin/phpize 這裡回車執行,執行完後就出了configure檔案
./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config
前面的是php配置的路徑 後面的是mysql的目錄下面的配置檔案
沒問題的話就
make
make install
然後修改php.ini檔案讓支援編譯好的mysqli
vi /usr/local/php/lib/php.ini //新增擴充套件
#pdo_mysql
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/mysqli.so
如果找的煩躁用這個速度查詢
在vi命令模式下輸入
/extension
然後按鍵盤的N按鍵,意思就是找到這個單詞,下一個單詞切換
好了,這裡重新啟動apache伺服器
/usr/local/apache/bin/apachectl -k restar
再看一下phpinfo的頁面已經有了MYSQLI
總算條件滿足了,網上下了個phpmyadmin
放到目錄,怎麼搞的,1405錯誤連線不上?
搞了半天原來沒看說明,需要把config.sample.inc.php 檔名改成 config.inc.php