添加php扩展 此博文包含图片 (2014-04-24 16:22:49)

本文详细介绍了在Linux环境下安装PHP扩展的方法,以curl为例,包括下载安装包、配置编译参数、编译安装、修改php.ini文件、以及验证安装等步骤。此外,还提供了在不同目录结构下的操作示例,帮助开发者轻松完成PHP扩展的安装。

添加php扩展

  (2014-04-24 16:22:49)
   
如何添加php extension:(背景:php安装时没有加curl支持)

==========> 
(
这里编译安装了curl 
./configure --with-php-config=/usr/local/php/bin/php-config
)

参考: http://www.cnblogs.com/jinrize/archive/2009/10/26/1590205.html
http://www.itokit.com/2012/0609/74358.html

linux 中 php如何安装扩展


如果php已经在系统编译好,后来又需要添加新的扩展。一种方式就是重新完全编译php,另一种方式就是单独编译扩展库,以extension的形式扩展。下面以安装curl扩展为例:

1、下载curl安装包。(我的php是4.4.4的,下载最新的curl 7.16 不能使用,最后下载7.14的才可以,所以要注意一下版本问题)

./configure
make
php 要求curl的目录要有include和lib目录,并且include下要有easy.h 和curl.h两个文件,lib下要有libcurl.a。经编译后include下的文件有了,但是lib目录下没有。原来生成到lib/.libs目录下,所以要copy到lib目录
2、进入安装原php的源码目录,

cd ext
cd curl
自己路径的phpize
./configure --with-curl=DIR
make
就会在PHPDIR/ext/curl/moudles/下生成curl.so的文件。

3、复制curl.so文件到extensions的配置目录,修改php.ini就好了 



假如原先编译的php目录在/usr/local/php5目录下;
apache在/usr/local/apache2目录下;
php源代码在/home/kevin125/src目录下。

如果实际目录与假定的目录不一致,则在下面的命令中做调整。

1. 找到当前运行的php版本的源代码目录,如 php-5.2.10。

进入curl扩展库目录。
$cd /home/kevin125/src/php-5.2.10/ext/curl

2. 调用phpize程序生成编译配置文件。
$/usr/local/php5/bin/phpize

3. 编译扩展库,分别执行下面的configure和make命令。
$./configure –with-php-config=/usr/local/php5/bin/php-config

configure这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。
$make

make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下,如 /home/kevin125/src/php-5.2.10/ext/curl/modules/curl.so

4. 配置php.ini文件
将编译好的扩展库文件复制到apache2 modules目录下。
$cp /home/kevin125/src/php-5.2.10/ext/curl/modules/curl.so /usr/local/apache2/modules/

找到php.ini文件所在目录位置,然后编辑。可以通过查看phpinfo信息来确定php.ini文件位置。
在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到apache2 modules目录下
extension_dir = “/usr/local/apache2/modules/”

在php.ini的设置扩展库位置,设置要添加的扩展库。
extension=curl.so

以后如果还要添加别的扩展库的话,则只需先将php扩展库编译好,然后copy到apache2 modules目录下,
然后再在这个位置,另取一行将编译后的扩展库文件名加上即可

5. 重启apache,查看phpinfo信息,即可看到刚才添加进去的curl扩展库。

添加其他模块类似。

\




==========>
php.ini 在安装目录不存在, 从源目录中拷贝php.ini-recommended这一类似的文件到指定文件路径即可,php.ini的指定路径可通过apache访问phpinfo.php查看到。

由于版本更新
php.ini-production 对应于 php.ini-recommended
php.ini-development 对应于 php.ini-dist
(tip)
 php 怎么从当前目录dl一个so ? 
 php -d extension_dir=. -d enable_dl='on' xxx.php

先看效果: https://renmaiwang.cn/s/jkhfz Hue系列产品将具备高度的个性化定制能力,并且借助内置红、蓝、绿三原色LED的灯泡,能够混合生成1600万种不同色彩的灯光。 整个操作流程完全由安装于iPhone上的应用程序进行管理。 这一创新举措为智能照明控制领域带来了新的启示,国内相关领域的从业者也积极投身于相关研究。 鉴于Hue产品采用WiFi无线连接方式,而国内WiFi网络尚未全面覆盖,本研究选择应用更为普及的蓝牙技术,通过手机蓝牙与单片机进行数据交互,进而产生可调节占空比的PWM信号,以此来控制LED驱动电路,实现LED的调光功能以及DIY调色方案。 本文重点阐述了一种基于手机蓝牙通信的LED灯设计方案,该方案受到飞利浦Hue智能灯泡的启发,但考虑到国内WiFi网络的覆盖限制,故而选用更为通用的蓝牙技术。 以下为相关技术细节的详尽介绍:1. **智能照明控制系统**:智能照明控制系统允许用户借助手机应用程序实现远程控制照明设备,提供个性化的调光及色彩调整功能。 飞利浦Hue作为行业领先者,通过红、蓝、绿三原色LED的混合,能够呈现1600万种颜色,实现了全面的定制化体验。 2. **蓝牙通信技术**:蓝牙技术是一种低成本、短距离的无线传输方案,工作于2.4GHz ISM频段,具备即插即用和强抗干扰能力。 蓝牙协议栈由硬件层和软件层构成,提供通用访问Profile、服务发现应用Profile以及串口Profiles等丰富功能,确保不同设备间的良好互操作性。 3. **脉冲宽度调制调光**:脉冲宽度调制(PWM)是一种高效能的调光方式,通过调节脉冲宽度来控制LED的亮度。 当PWM频率超过200Hz时,人眼无法察觉明显的闪烁现象。 占空比指的...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值