博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php编译安装扩展的思考
阅读量:5824 次
发布时间:2019-06-18

本文共 1012 字,大约阅读时间需要 3 分钟。

hot3.png

昨天将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/mysqlmakemake 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

你可能感兴趣的文章
cisco路由器IOS恢复方法之ROMMON恢复
查看>>
搭建[ rsyslog+loganalyzer+mysql ] lamp组合型日志服务器
查看>>
Python动手练习之购物车面对对象版本
查看>>
【yii】让module支持theme
查看>>
[20171115]ZEROCONF ROUTE.txt
查看>>
mysql中文编码问题
查看>>
javascript--对象
查看>>
mac下修改mysql的密码
查看>>
Netty实现原理浅析
查看>>
手机吸费软件肆意捞金,通过代码签名证书加以防范
查看>>
C语言作业06--结构体&文件
查看>>
Notepad++ xml/json格式化
查看>>
CRUD全栈式编程概述
查看>>
LeetCode – Refresh – Permutations II
查看>>
eclipse.ini内存设置
查看>>
CSS3
查看>>
ul下的li浮动,如何是ul有li的高度
查看>>
C++ primer plus
查看>>
python mysqlDB
查看>>
UVALive 3942 Remember the Word Tire+DP
查看>>