由于用了thinkphp的最新版本,而服务器刚好用的wdcp配置升级的php5.3.17,结果发现默认没有配置pdo_mysql,出现错误:
Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'
于是如下解决:(耽误下班啊)
编译安装操作就是要在编译的源文件下使用phpize来./configure和make
先通过phpinfo查看一些必要的信息
确认了pdo_mysql在phpinfo里面没有,确实需要安装
1.找到编译需要的文件:
方法一:
安装好wdlinux并且升级到php5.3.17后,找到php的源码包所在位置,因为每个人下载的位置不同,需要自行查找,可以使用find搜索
比如我的: /software/php-5.3.17/ext/pdo_mysql,进入此源码包下pdo_mysql扩展的文件夹
方法二:
重新在网上下载了新的pdo_mysql
mkdir tmp_pdo_mysql
cd tmp_pdo_mysql
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
tar zxvfPDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
2.进入到pdo的文件夹后,执行phpize 配置和编译文件
找到phpize的路径,wdcp的一般应该是:/www/wdlinux/apache_php-5.3.17/bin/phpize,具体可以通过phpinfo里面查看,phpinfo第三行“ConfigureCommand”里面就有记录,比如:“'./configure''--prefix=/www/wdlinux/apache_php-5.3.17'”,那么phpize就应该在/www/wdlinux/apache_php-5.3.17/里面,通过find查找可以再确认下,输入如下命令
/www/wdlinux/apache_php-5.3.17/bin/phpize
运行后得到:
Configuring for:PHP Version:20090626...
类似信息表示成功,否则会报错。
常见错误:Cannot findconfig.m4
出现这个错误的原因是需要cd进入扩展的文件夹再运行phpize(也就是前面说的第1步)。
成功后输入参数:
./configure --with-php-config=/www/wdlinux/apache_php-5.3.17/bin/php-config --with-pdo-mysql=/www/wdlinux/mysql/bin/mysql_config
解释一下
./configure --with-php-config=php-config地址 --with-安装的扩展=mysql_config地址
make
make install
分别运行,中途无报错就OK了
3.修改php.ini文件
然后打开 php.ini文件,
并添加一行
extension=pdo_mysql.so
4.重启web服务
service http drestart
5.phpinfo查看是否安装成功
看到“pdo_mysql”恭喜成功了
欢迎光临 WDlinux官方论坛 (http://wdlinux.cn/bbs/) | Powered by Discuz! 7.2 |