linux添加php到环境,Linux系统为已编译的PHP环境添加扩展

问题背景

平常我们都是先安装mysql,然后才能去安装php。假如先安装php,后安装mysql,由于php需要连接mysql,因而在php引擎中需要配置使用mysql.so扩展。这时需要手动编译生成mysql.so扩展。

解决方案

使用phpize工具能够生成mysql.so,但是必须加上”–with-mysql=mysql客户端的路径”。也就是mysql.so模块必须用到mysql客户端才行。

可以这样理解,mysql.so内部会调用mysql客户端,以便实现连接mysql数据库服务器。

我们常常用到的mysql_connect()可能就是调用了mysql客户端才能完成连接数据库的操作。

实践生成mysql.so的过程

大体思路:需要用到php的源码包才行。通过源码包中提供的phpize文件(一个专门挂接php扩展的工具),phpize的规则:去哪个目录下运行phpize文件,那么就会在该目录下生成一个configure文件。

具体的安装步骤如下

php安装完成后添加mysql扩展基本步骤如下:

1、进入php源代码目录:

[root@localhost /]# # cd cd /usr/local/php-5.3.28

2、再进入要添加的mysql扩展源码目录:

[root@localhost php-5.3.28]cd ext/mysql/

[root@localhost mysql]# yum install autoconf (CentOS 5.4需安装)

3、调用已经编译好的php可执行程序phpize:

[root@localhost mysql] /usr/local/php/bin/phpize

4、然后configure:

[root@localhost mysql]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql=/usr/local/mysql/ --with-zlib-dir=/usr/local/lib

注意:

/usr/local/mysql 为mysql的安装目录

/usr/local/lib/php/extensions/no-debug-non-zts-20090626/ 为php扩展的动态库存放目录

5、编译安装

[root@localhost mysql]#make

[root@localhost mysql]#make install

6、编译完成之后,将会自动把mysql.so放到了默认的php扩展目录下(phpinfo可查看,我的为 /usr/local/php/lib/php/extensions/no-debug-zts-20090626),再修改php.ini,去掉;extension=mysql.so前面的分号。如果没有这句,需要自行添加。

不过有一点需要注意的是,生成的模块名叫mysql.so,跟php.ini里面的php_mysql.so名字不一致,必须把mysql.so改名为php_mysql.so,也可修改php.ini中的文件名,总之文件名必须一致.

7、重启apache:

[root@localhost mysql] service httpd restart

或者apache没有安装成服务,则进入apache_home执行

[root@localhost mysql]bin/apachectl -k restart

测试php引擎是否成功加载该扩展

编写文件phpinfo.php,内容是:

ehco phpinfo();

?>

运行后,可以看到有如下信息显示:

mysql

MySQL Support enabled

Active Persistent Links 0

Active Links 0

Client API version 5.1.55

MYSQL_MODULE_TYPE no value

MYSQL_SOCKET /tmp/mysql.sock

MYSQL_INCLUDE no value

MYSQL_LIBS no value

通过这样的方式可以确认,php引擎已经成功加载了mysql.so扩展。

已经生成的mysql.so。编写php代码测试是否能连接mysql

测试.so是否能用变得非常必要。现在测试一下生成的mysql.so是否能用。

$link=mysql_connect('192.168.150.214','root','123456');

if(!$link) echo "connect error!";

else echo "connected!";

mysql_close();

?>

运行后,输出connected 说明连接成功!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513964.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab knn实现,Matlab之KNN实现

1. 算法流程1) 通过Matlab产生高斯分布产生两类数据,并标明类别2) 数据初始化:设置K某个常数(一般为奇数)3) 对于每个测试数据,计算其到两类数据的所有点的距离对于上述求得的距离,选出K个最小的,检…

matlab 计算 工程,matlab工程计算.doc

您所在位置:网站首页 > 海量文档&nbsp>&nbsp计算机&nbsp>&nbspmatlabmatlab工程计算.doc167页本文档一共被下载:次,您可全文免费在线阅读后下载本文档。下载提示1.本站不保证该用户上传的文档完整性,不预览、不比…

matlab制作打地鼠游戏,scratch编程制作打地鼠的游戏教程

scratch编程制作打地鼠的游戏教程Sk1少儿编程网-https://www.pxcodes.comSk1少儿编程网-https://www.pxcodes.com首先,新建背景和角色,从背景库/角色库中分别选择森林和地鼠、锤子Sk1少儿编程网-https://www.pxcodes.com1.角色:洞Sk1少儿编程…

php中source,PHP中source #N问题的解决方法

最近写PHP里面的查询经常会遇到source #4或者source#5这样的问题,也就是通过mysql_query($sql1)进行一段查询的操作,返回的结果不是想要的字段而是source,去网上查了一些资料都说是什么‘资源的问题,虽然对于出现这种情况的原理还…

php301重定向跳转,php如何设置301重定向跳转

php设置301重定向跳转的方法:在跳转前设置状态码【header( "HTTP/1.1 301 Moved Permanently" );header("Location:your_dest_url")】。本教程操作环境:windows7系统、PHP5.6版,DELL G3电脑,该方法适用于所有…

matlab中instr,MATLAB 串口通信

matlab 串口编程由于项目需要,用matlab 做了一个串口通信工具,也碰到不少坑。这里总结一下。读取串口数据matlab 支持串口通信,因此直接调用串口的结构体serial就可以,在调用之前,需要对串口属性进行设置。delete(inst…

华为发布《大交通时代》:开启未来数字交通宏图

9月24日,在华为全联接2021大会期间,华为携手电子工业出版社及行业专家、共同举办了业内首部交通行业数字化转型系统性专著《大交通时代:行业数字化转型之道》(以下简称《大交通时代》)新书发布媒体沟通会。本书理论结合…

树莓派 摄像头 php,树莓派3 之 USB摄像头安装和使用

需求如果你想在树莓上拍照或者录影,你可以安装树莓派的摄像头(有点贵)。如果你不想要为摄像头模块花费额外的金钱,那有另外一个方法,就是你常见的USB 摄像头。你可能已经在PC上安装过了。我买的如图的这款本篇文章讲解的就是 在树莓派上使用U…

Gartner发布2021年低代码魔力象限,Mendix名列前位

到2025年,企业所开发的新应用中有70%将使用低代码或无代码技术,而2020年的这一比例还不到25%。低代码应用平台在其技术采用曲线上已从"早期采用者"进入到"早期多数人"阶段;而且低代码是“适合主流业务用例的强大的最佳应…

python爬虫入门心得体会,python爬虫入门和实例

爬虫不外乎是为了获取网络上的信息,要取得信息,你就得给给服务器发请求,然后服务器把信息发给你,这一步一般较为简单。服务器发给你的一般是一个html文件,拿到文件后,你可能会觉得这是什么乱七八糟的东西&a…

python的整数类型_Python int 数字整型类型 定义int()范围大小转换

本文主题是讲python数字类型python int整型使用方法及技巧。它是不可变数据类型中的一种,它的一些性质和字符串是一样的,注意是整型不是整形哦。 Python int有多种数字类型:整型int、长整型、布尔型bool、浮点数float、复数complex&#xff0…

Gartner发布2021年人工智能技术成熟度曲线

编辑 | 宋慧 供稿 | Gartner 全球信息技术研究和顾问公司Gartner 2021年人工智能技术成熟度曲线(Hype Cycle for Artificial Intelligence, 2021)中的四个趋势正在推动近期人工智能创新。这四个趋势是:负责任的人工智能、小而宽数据策略、人…

oracle中获取当前时间戳,Oracle 在SQL语句中如何获取系统当前时间并进行操作

select sysdate from dual;select to_char(sysdate,yyyy-mm-dd hh24:mi:ss) from dual;select to_char(sysdate,yyyy-mm-dd hh24:mi) from dual;select to_char(sysdate, yyyy ) from dual; --年select to_char(sysdate, MM ) from dual; --月select to_char(sysdate, dd ) fro…

oracle数据库怎么锁表,oracle数据库表锁住

1、查看数据库锁,诊断锁的来源及类型:select object_id,session_id,locked_mode from v$locked_object;或者用以下命令:select b.owner,b.object_name,l.session_id,l.locked_mode from v$locked_object l, dba_objects b where b.object_idl.object_id2…

“低代码”将干掉 70% 的软件开发工作

作者| Mr.K 编辑| Emma来源| 技术领导力(ID:jishulingdaoli)根据Gartner 预测:到 2025 年,70% 的新应用将由低代码/无代码技术完成开发。也就是说,“低代码”将干掉70%的传统软件开发工作。什么是传统软件开发工作?说…

漫画:什么是 “图灵测试” ?

作者| 小灰来源| 程序员小灰艾伦麦席森图灵(1912-1954)在一间小黑屋里,有这样三个角色:一个人类评审员,两个受试者A和B。其中一个受试者是计算机的人工智能程序,另一个受试者是人类。评审员无法直接看到受试…

oracle导出超链接,Oracle Report中加入下载超链接操作方法

1、在报表页面布局相应的位置加入文本框,一般为Download右键用PL/SQL编辑器编写成超链接,加入以下内容:function B_13FormatTrigger return boolean isbeginIF upper(:P_ACTION) ! DOWNLOAD THENreturn (FALSE);ELSEsrw.set_hyperlink(EXP_FI…

云原生,智慧营销破圈新利器

如今企业数字化转型进入深水区,我们步入全域精细化营销时代,企业增长和营销需求不断变化,MarTech(营销技术)正紧跟其后。据艾瑞咨询《2021年中国MarTech市场研究发展报告》指出,2021年我国 MarTech 各子场景…

oracle10数据库链接失败,oracle 10g Enterprise Manager 无法连接到数据库实例分析

1 问题描述客户端通过IE 浏览器登陆oracle 10g em console时不能显示登陆界面,页面显示“Enterprise Manager 无法连接到数据库实例。下面列出组件状态”[more]2 处理过程1. 检查主机em进程状态,结果正常emctl status dbconsole2. 检查数据库用户&#x…