1.PHP的扩展模块怎么添加
php安装好后,可能在初次安装时,会有些模块会有遗漏,但是我们又不想重新编译php,因为耗时是比较长的。我们可不可以在不重新编译安装php的情况下,来为php单独添加某一个模块呢?查找资料,发现还是有方法的,重点就是phpize了,于是写了这篇文章.
下面我们就以单独为php加载mysqli模块为例,演示如何动态为php添加模块。
1、找到php原码安装文件
2、cd /home/php/ext/myslqi
3、运行 /usr/local/php/bin/phpize
4、/configure –with-php-config=/usr/local/php/bin/php-config
5、make && make install
6、安装完成之后会在系统/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/这个目录下面生成mysqli.so的库文件
7、编辑php.ini文件,指定php到哪人目录读取模块
vi /usr/local/php/etc/php.ini
extension_dir=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613″
extension=mysqli.so
8、重启php服务 /usr/local/php/sbin/php-fpm restart
7、/usr/local/php/bin/php -m|grep mysqli 查看mysqli.so是否存在
如果步骤正确,你的人口也不差的情况下,应该这样php的动态模块加载就完成了。
2.php fpm如何增加拓展
php安装好后,可能在初次安装时,会有些模块会有遗漏,但是我们又不想重新编译php,因为耗时是比较长的。我们可不可以在不重新编译安装php的情况下,来为php单独添加某一个模块呢?查找资料,发现还是有方法的,重点就是phpize了,于是写了这篇文章.
下面我们就以单独为php加载mysqli模块为例,演示如何动态为php添加模块。
1、找到php原码安装文件
2、cd /home/php/ext/myslqi
3、运行 /usr/local/php/bin/phpize
4、/configure –with-php-config=/usr/local/php/bin/php-config
5、make && make install
6、安装完成之后会在系统/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/这个目录下面生成mysqli.so的库文件
7、编辑php.ini文件,指定php到哪人目录读取模块
vi /usr/local/php/etc/php.ini
extension_dir=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613″
extension=mysqli.so
8、重启php服务 /usr/local/php/sbin/php-fpm restart
7、/usr/local/php/bin/php -m|grep mysqli 查看mysqli.so是否存在
如果步骤正确,你的人口也不差的情况下,应该这样php的动态模块加载就完成了。
3.php怎么写ini配置项
//用法 ini_file(文件名,ini节名,键名key , 键值)//查询时 键值 留空或设为null,函数返回键值//若无ini节名,则ini节名设为null ini节名 不包含[ ]//查询//echo ini_file('abc.ini','sectionA','key1');//输出对应的键值 如123ds//添加或更改/* if(ini_file('abc.ini','sectionA','key1','bnmv') echo "成功添加或修改"; else echo "操作失败";*/ function ini_file($inifilename,$mode=null,$key,$value=null) {//传入参数为null时的默认值$inifilename = $inifilename==null ? 'Application.ini':$inifilename;$key = $key==null ? 'user' : $key; if(!file_exists($inifilename)) return null;//读取$confarr = parse_ini_file($inifilename,true);$newini=""; if($mode!=null) {//节名不为空 if($value==null) {return @$confarr[$mode][$key]==null ? null : $confarr[$mode][$key];} else {$YNedit = @$confarr[$mode][$key]==$value ? false : true;//若传入的值和原来的一样,则不更改 @$confarr[$mode][$key]=$value; } } else {//节名为空 if($value==null) {return @$confarr[$key]==null ? null : $confarr[$key];} else {$YNedit = @$confarr[$key]==$value ? false : true;//若传入的值和原来的一样,则不更改 @$confarr[$key]==$value; $newini=$newini.$key."=".$value."\r\n"; } } if(!$YNedit) return true;//更改$Mname=array_keys($confarr);$jshu=0; foreach ($confarr as $k => $v) { if(!is_array($v)) {$newini=$newini.$Mname[$jshu]."=".$v."\r\n";$jshu += 1;} else {$newini=$newini.'['.$Mname[$jshu]."]\r\n";//节名$jshu += 1;$jieM=array_keys($v);$jieS=0; foreach ($v as $k2 => $v2) { $newini=$newini.$jieM[$jieS]."=".$v2."\r\n";$jieS += 1;} } } if ( ($fi = fopen($inifilename,"w")) ) { flock($fi, LOCK_EX);//排它锁 fwrite($fi, $newini); flock($fi, LOCK_UN); fclose($fi); return true; } return false;//写文件失败 } ini_file('你的文件名','123','qew' ,'456');。
4.如何编译安装PHP扩展
一开始安装PHP的时候,我们并不知道需要哪些扩展,所以只有等到我们真正用到的时候才想办法去安装。
安装PHP扩展最简单的办法就是sudo apt-get install php5-xxx但有的时候并非我们所愿,源里面并没有我们需要的扩展,这时候就需要我们下载源码自己编译安装了。这篇文章中我将介绍在本地Linux平台下编译安装PHP扩展的方法。
现在网站根目录下创建 index.php 打印基本的配置信息,以验证我们是否安装成功。配置编译环境我们需要安装一些编译必须的库,还有 php-dev 版本Ubuntusudo apt-get install php5-dev php5-mysql gcc libpcre3-devFedorasudo yum install php-devel php-mysqlnd gcc libtoolRHELsudo yum install php-devel php-mysql gcc libtoolSuseyast2 -i php5-pear php5-devel php5-mysql gcc安装扩展PHP有两种可供安装的扩展:一种是PHP原生的但是默认没有安装的,另一种的第三方开发的扩展。
下面依次介绍两种扩展的安装方法:安装之前我们需要一份和当前机器上相同版本的PHP源码cd codewget /mongodb/mongo-php-drivercd mongo-php-driverphpize./configuremakesudo make install将会生成一个文件,将其拷贝到PHP的扩展目录下面。
启用扩展在php.ini中启用扩展的方式有很多:直接在php.ini文件中添加 extension=mongo.so,这是最简单直接的方法。也可以单独建一个ini文件,然后在php.ini中包含这些文件就可以了。
下面介绍一下第二种方法:cd `/etc/php5/mods-available`这个目录里可以放新建的ini文件,然后执行sudo touch mongo.iniecho "extension=mongo.so" | sudo tee -a mongo.inisudo touch intl.iniecho "extension=intl.so" | sudo tee -a intl.ini上面的命令将会创建ini文件,并且写如相应的配置信息。然后执行下面的命令启用扩展即可(需要安装 php5enmod 工具):sudo php5enmod mongosudo php5enmod intl如果未安装 php5enmod 工具,则需要手动配置:ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cli/conf.d/mongo.iniln -s /etc/php5/mods-available/intl.ini /etc/php5/cli/conf.d/intl.iniln -s /etc/php5/mods-available/mongo.ini /etc/php5/fpm/conf.d/mongo.iniln -s /etc/php5/mods-available/intl.ini /etc/php5/fpm/conf.d/intl.ini最后在执行一下重启操作就可以了:sudo service nginx restartsudo service php5-fpm restart。
转载请注明出处育才学习网 » php.ini添加扩展怎么写