PHP如何添加自带的扩展库

当服务器上PHP已经安装好,需要额外添加PHP扩展时怎么办?不需要重新安装PHP,有了phpize我们可以在原有的PHP基础之上直接安装扩展库。

这次编译仅仅只是单独编译PHP的扩展库,接下来将编译好的扩展库加入到现在运行的php中,不对现在运行的php重新编译,所以没有一点的影响。

下面我们演示安装xsl的扩展(不一定常用,仅做为一个范例)

做法一:

1.找到当前运行的php版本的源代码目录,如php-5.2.3。进入xsl扩展库目录。

$cd /home/pkgs/php-5.3.3/ext/xsl

2.调用phpize程序生成编译配置文件。

$/home/app/php5.3.3/bin/phpize

3.编译扩展库,分别执行下面的configure和make命令。

$./configure-with-php-config=/home/app/php5.3.3/bin/php-config

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

$make

#make成功执行后,生成的扩展库文件在当前目录的 modules子目录下,

如/home/php-5.3.3/ext/curl/modules/xsl.so

4.配置php.ini文件

#将编译好的扩展库文件复制到PHP的扩展目录下,可通过查看phpinfo信息。。

$ cp /home/pkg/php-5.3.3/ext/xsl/modules/xsl.so  /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626

#在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到Apache2modules目录下,并添加扩展库位置。

extension_dir /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626”

extension=xsl.so

5.重启php,查看phpinfo信息,即可看到刚才添加进去的xsl扩展库。(如果有多个php-fpm进程的话,平滑重启主进程即可:kill -USR2 pid)

PHP如何添加自带的扩展库

时间: 2024-12-09 22:02:17

PHP如何添加自带的扩展库的相关文章

laravel 5.1 添加第三方扩展库

laravel 5.1 添加第三方扩展库 时间:2015-09-07 19:20:34      阅读:1654      评论:0      收藏:0      [点我收藏+] 步骤一:确定你要放第三方库的目录,假设:app/libs,并在该目录下放置类文件common.php. 步骤二:找到根目录下的composer.json文件并打开,找到autoload-dev参数,添加"app/libs/common.php".如图: common.php代码: 步骤三:然后执行命令: ph

Linux下为PHP添加扩展库

例子:添加mbstring扩展库 1. 进入PHP源码目录(没有源码的可以先用命令:# php -v 查看版本号,然后上PHP官网下载源码) 2. 进入PHPi源码下的FTP扩展库的目录: # cd [Your PHP Source Folder]/ext/mbstring 3. 使用 phpize 命令生成配置文件: # phpize 4. 执行configure: # ./configure --with-php-config=/usr/local/php/bin/php-config  (

centos下不重装php——给PHP添加新扩展库

装完php.发现需要一些新扩展库比如常见的mysqli之类的.在不重装php安装新扩展,以一个不常用的库xsl为例. 环境:centos6.8,php5.3.29 ,osx10.11.6 我的php相关目录如下:我的php安装包位置:  ~/php-5.3.29  以下简写为~/php*我的php安装位置: /usr/local/php5329 以下简写为/usr/local/php* 要安装的xsl库在 ~/php*/ext/xsl中 给xsl生成config文件   用到/usr/local

Visual C++ 编译器自动假定带 .C 扩展名的文件是 C 文件而不是 C++ 文件,并且拒绝 C++ 语法和关键字(c语言只能在大括号最前面申明变量)

今天在编译OpenGL红宝书附带源码中的light.c文件时遇到一个诡异的问题: 如图light .c,在不做任何修改的情况编译OK.然而只要在某些地方写了可执行代码,则会无法通过编译器编译! (这几行代码如果写在main函数里的第一句则OK) 我用的VS08.我把该文件发给其他朋友(用的VS10),同样也是这样的问题. 然而,我把文件名改成light.cpp后,问题解决了. 现在的问题是,代码文件按的后缀背后,会如何影响编辑器的编译呢? 可以做一个简单的测试: [cpp] view plain

php--mysqli扩展库之增、删、改、查

<?php /**************************mysqli扩展库********************************/ /*使用php mysqli扩展操作mysql数据库,是mysql扩展库的增强版,效率.安全有所提高,支持面向对象编程 同时也提供了面向过程的编程风格 ★mysql语句的特别说明:如果操作的字段类型是字符串型则要求要使用单引号包起来,如果操作的字段类型是数值型的则可以用单引号包也可以不用★ */ /* //查询 //面向对象风格 1.创建mysq

边记边学PHP-(十七)PHP使用MySQLi扩展库操作数据库2

从前天开始,我的电脑不知道怎么了,写程序的时候无缘无故就死机.还不是彻底死,鼠标还能动,就是点击不好使,也打不开任务管理器.昨晚检查一下硬盘,有六个坏道,也不知道是不是这个原因.但是我在玩的时候,只要不打开编译器写程序,啥事也没有.玩游戏也不回出现那种情况.把我搞得好烦. 四.Mysqli扩展库增强 MySQLi扩展库在基础操作上看着没什么不同,只是从面面向过程转换成了面向对象.但是既然是mysql扩展库的增强,那一定有强的地方.有如下代码: 1.批量执行sql语句 <?php //mysqli

cocos2d-x 3.3 导入lua扩展库

cocos2d-x 导入lua扩展库有几个点需要注意: 1.cocos2d-x 中的lua版本为5.1.4,所导入的lua库需要对应相应的版本库. 2.在vs 2012 中编译cocos2d-x ,添加的C文件需要注明用C编译,如一般.h文件需要这样写 #ifndef __LUA_LPEG_H_ #define __LUA_LPEG_H_ #if __cplusplus extern "C" { #endif #include "lua.h" #include &q

1cocos2dx扩展库UI控件,CCControlSlider,CCScale9Sprite(九妹图),CCControlSwitch,CCControlButton

 UI控件来自cocos2dx的扩展库,完善了UI方面的元素,使cocos2dx更加丰富多彩.使用扩展库需包含: #include "cocos-ext.h" USING_NS_CC_EXT; CCControlSlider CCControlSlider * slider = CCControlSlider::create("sliderTrack.png","sliderProgress.png","sliderThumb.pn

react native 添加包含原生代码的库需要几个步骤:

用RN原生包CameraRoll实现iOS下载图片功能 连接原生库:https://reactnative.cn/docs/linking-libraries-ios/ 添加包含原生代码的库需要几个步骤: 自动链接 第一步 安装一个带原生依赖的库: $ npm install 某个带有原生依赖的库 第二步 运行以下命令,它会根据package.json文件中的dependencies和devDependencies记录来链接所有需要链接的库(注意一些老的教程和文档可能会提到rnpm link命令