php编译安装扩展的思考

昨天将thinkPHP3.2.3开发的一个系统部署到阿里云的Linux系统。本以为lnmp环境全部OK了,但是却遇到了thinkphp的问题,could not find driver,Library\Think\Db\Driver.class.php  LINE: 109。百度了一下,都反映是没有安装mysql_pdo扩展的问题。

现在想起来以前安装lnmp环境是按照阿里云的lnmp搭建教程来做的,可能是在编译安装php的时候没有with mysql_pdo。

官网下载的php.tar.gz一般都自带了很多常用的扩展了,在解压后的/usr/local/src/php.5.6/ext/ 目录下找到mysql_pdo目录

在目录中执行phpize

/usr/local/php/bin/phpize

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

make

make install

正确结果:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/

然后修改php.ini文件,增加extension=pdo_mysql.so

最后需要注意的是在修改php.ini了以后,如果用的是nginx服务器则还需要重启php-fpm。

有些文档说要修改extension_dir,拷贝pdo_mysql.so文件,其实在phpinfo()看到默认的扩展路径就是 /usr/local/php/lib/php/extensions/no-debug-zts-20100525/了,所以我认为可以省略这两个操作。

突然想看看php在with安装的那些扩展到底在什么目录,为什么不在/usr/local/php/lib/php/extensions/no-debug-zts-20100525/这个目录。查看/usr/local/php目录,发现with安装的扩展都在include/php/ext目录,而且都是.h文件。这个和phpize增加的.so文件是不同的。算是解决了疑惑。

转载于:https://my.oschina.net/qingtianjun/blog/872002

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值