在安装一个禅道项目管理软件时,需要的条件有一条是php支持pdo_mysql扩展,由于服务器上还运行有其他系统,之前安装php在编译时候没有指定需要支持这个扩展,所有需要手动添加支持。
使用命令查看当前php已经支持的扩展/usr/local/php/bin/php -m,结果
[root@host03 pdo_mysql]# /usr/local/php/bin/php -m
[PHP Modules]
Core
ctype
curl
date
dba
dom
ereg
fileinfo
filter
ftp
gd
gettext
hash
iconv
json
libxml
mbstring
mysql
mysqli
openssl
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
soap
sockets
SPL
SQLite
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib

[Zend Modules]
进入到php源码包内找到扩展文件所在地目录/home/php-5.3.8/ext/pdo_mysql,源码安装包ext目录下是所有扩展到文件目录。
执行/usr/local/php/bin/phpize在扩展到目录下,生成编译需要的文件
然后再执行./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql-config=/usr/bin/mysql_config
再然后就是make了,make完成后,如果执行make test报错,SKIP PECL Bug #7976 (Calling stored procedure several times) [tests/bug_pecl_7976.phpt] reason: SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: NO)
PHP Warning: opendir(ext/pdo/tests): failed to open dir: No such file or directory in /home/php-5.3.8/ext/pdo_mysql/run-tests.php on line 853
ERROR: cannot open directory: ext/pdo/tests
直接无视,执行make install
完成后编辑php.ini把新生成的库文件添加进去,在扩展到下面添加extension=pdo_mysql.so,这个机器上库文件的路径是/usr /local/php/lib/php/extensions/no-debug-non-zts-20090626,也可以写绝对路径
再查看php支持的扩展。[root@host03 ~]# /usr/local/php/bin/php -m
[PHP Modules]
Core
ctype
curl
date
dba
dom
ereg
fileinfo
filter
ftp
gd
gettext
hash
iconv
json
libxml
mbstring
mysql
mysqli
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
soap
sockets
SPL
SQLite
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib

[Zend Modules]

pdo_mysql已经存在了