PHP之pdo mysql擴充套件安裝步驟

2022-09-09 09:57:11 字數 4548 閱讀 9559

看到cakephp文件要求安裝pdo_mysql擴充套件,於是就嘗試安裝了一下。

這裡我的系統是centos 6.0。如果你的系統是其他版本的linux/unix,可以參考。如果你的系統是windows的,抱歉,以下內容不適合你,請移步。

然後是解壓縮。

# tar -zxvf pdo_mysql-1.0.2.tgz

進入解壓後的目錄,然後執行phpize。

# /usr/local/php/bin/phpize

configuring for:

php api version: 20100412

zend module api no: 20100525

zend extension api no: 220100525

下面生成makefile。後面的兩個引數必須要新增,一開始我沒有新增,結果分別都提示找不到php-config和mysql的header檔案。

# ./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql

在make之前還要做乙個mysql的header檔案的軟連線。因為mysql安裝的時候指定了目錄,不做軟連線的話,還是找不到header檔案。

# ln -s /usr/local/mysql/include/* /usr/local/include/

然後make和make install。

# make

# make install

之後會提示如下,意思是擴充套件被安裝到了如下目錄裡。

installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20100525/

為了方便,我把pdo_mysql.so檔案移動到extensions目錄下。

# mv /usr/local/php/lib/php/extensions/no-debug-zts-20100525/pdo_mysql.so /usr/local/php/lib/php/extensions/

隨後就可以修改php.ini檔案了。

找到; extension_dir = 「./」這一行,去掉注釋,並修改路徑。

extension_dir = 「/usr/local/php/lib/php/extensions/」

這裡經過我測試,發現php只會從該目錄尋找擴充套件so,而並不尋找該目錄下的子目錄。所以之前我為了統一管理,把so檔案都移動到該目錄下。

找到; extension=php_pdo_mysql.dll這一行,去掉注釋,並修改後面的檔名。

extension=pdo_mysql.so

檔名不太一樣,這裡要把php_字首去掉,否則找不到檔案。後面的dll是windows下的檔名,我們改成so。

最後重啟apache就可以了。用phpinfo()檢視發現已經生效了。

linux伺服器中的php程式能夠連線到windows伺服器中的sql server 2000資料庫,這裡分享下配置方法,需要的朋友可以參考下

說明:

linux伺服器系統:centos 5.5

web環境:lamp或者lnmp

windows伺服器系統:windows server 2003

資料庫環境:sql server 2000資料庫

資料庫賬號:sa

資料庫密碼:123456

實現目的:linux伺服器中的php程式能夠連線到windows伺服器中的sql server 2000資料庫

具體步驟:

一、在linux伺服器中安裝freetds

1、安裝編譯工具及驅動程式

yum install make apr* autoconf automake gcc gcc-c++ wget

2、安裝unixodbc驅動程式

yum -y install unixodbc unixodbc-devel

3、安裝freetds

cd /usr/local/src

gunzip freetds-stable.tgz #解壓

tar -xvf freetds-stable.tar

cd freetds-0.91

./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --with-unixodbc=/usr --enable-msdblib #配置

make #編譯

make install #安裝

4、配置freetds

cp /usr/local/freetds/etc/freetds.conf /usr/local/freetds/etc/freetds.confbak #備份原有檔案

vi /usr/local/freetds/etc/freetds.conf #在最後位置修改編輯以下內容

[192.168.21.134]

host = 192.168.21.134 #sql server 2000伺服器位址

port = 1433 #sql server 2000資料庫埠

tds version = 8.0 #8.0代表資料庫版本為sql server 2000

client charset = utf-8 #設定字符集

5、測試freetds

/usr/local/freetds/bin/tsql -s 192.168.21.134 -u sa #測試,提示輸入資料庫密碼,出現下面介面,配置成功

cd /usr/local/freetds/bin

./tsql -s 192.168.21.134 -p 1433 -u sa -p 123456 -d master #測試,出現下面介面,配置成功

二、配置linux php連線sql server 2000資料庫

yum install php-mssql #安裝php-mssql擴充套件,如果提示沒有此安裝包,請先配置第三方yum源

sh ./atomic #安裝

yum install php-mssql #再次執行

2、php是用原始碼編譯安裝

cd /usr/local/src/php-5.3.15/ext/mssql #進入php原始碼包的ext下mssql目錄

/usr/local/php5/bin/phpize       我的是/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php5/bin/php-config --with-mssql=/usr/local/freetds #配置

./configure --with-php-config=/usr/local/php/bin/php-config --with-mssql=/usr/local/freetds #配置

注意:--with-mssql=/usr/local/freetds #是指freetds的安裝路徑

make #編譯

make install #安裝

vi /usr/local/php5/etc/php.ini #編輯,在最後位置新增下面一行

extension = "mssql.so"     我的是如下配置:

extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/memcache.so

extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/redis.so

extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/mssql.so

:wq! #儲存退出

3、重啟lamp或者lnmp

service httpd restart #重啟apache

service php-fpm restart #重啟php-fpm

三、測試php連線sql server 2000資料庫

進入php程式目錄,新建乙個測試檔案

cd /usr/local/nginx/html #請改為自己的**目錄

vi sql.php #新增以下內容

<?php

$mssql=mssql_connect("192.168.21.134","sa","123456");

if ($mssql) catch (pdoexception $e)

var_dump($dbh);

$sql = "select name from role";

$res = $dbh->prepare($sql);

$res->execute();

var_dump($res);

while($row = $res->fetch()) 

摘自 : 

php 新增pdo mysql擴充套件

幫朋友安裝禪道管理軟體的時候碰到的問題,鬱悶了幾天終於解決了 之前apache php mysql 都是好的 可是安裝禪道的時候 報pdo mysql擴充套件沒有加上 我的解決方法是 安裝mysql mysql server 5.5.15 1.rhel5.x86 64.rpm mysql clien...

php 安裝pdo mysql 擴充套件

如果pdo在linux下出現exception pdoexception with message could not find driver 則問題是php編譯時少加 with pdo mysql usr local mysql wget tar zxvf pdo mysql 1.0.2.tgz ...

php7 0擴充套件yac,php擴充套件之yac安裝

git轉殖 git clone 解壓安裝 注意這裡的php config可能不一樣 檢視php config位置 編譯安裝 cd yac phpize configure with php config usr bin php config make make install 修改php.ini,載...