精华内容
下载资源
问答
  • 本文主要记录一次添加php扩展的操作过程 某php项目新增需求,用到curl模块,却发现未安装curl扩展,且php安装包已找不到。本次curl扩展安装,耗时近5个小时,特已此文记录 主要思路:1、安装与项目环境相同php版本...

    本文主要记录一次添加php扩展的操作过程

    某php项目新增需求,用到curl模块,却发现未安装curl扩展,且php安装包已找不到。本次curl扩展安装,耗时近5个小时,特已此文记录

    主要思路:1、安装与项目环境相同php版本

                       2、编译出符合版本的 .so文件

                       3、 复制.so文件到项目环境php扩展目录

                       4、修改配置文件php.ini,新增extension=curl.so

     

    下面只讲.so文件生成操作:

    1、进入php源码解压目录,cd ./ext/curl/

    2、执行phpize, 若报错 Can't find PHP headers in /usr/include/php 补充完整路径,缺少权限添加执行权限

    3、./configure --with-curl=/usr/bin/curl   /usr/bin/curl为curl的安装路径(curl安装路径一定要指定,否则错误:NOTICE: PHP message: PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) 'curl.so' )

    4、make,执行完成后在解压目录下的 ext/curl/modules 目录下会成curl.so文件

     

    用编译安装过的安装包再次编译安装记得在删除src目录或者make clean命令

     

     

    展开全文
  • Linuxphp扩展加载顺序冲突的解决方案 比如,在安装swoole的时候开启了mysqlnd的支持,那么就需要先加载mysqlnd扩展。 查看:php -m | grep mysqlnd 安装好swoole后,在php.ini中增加 extension=swoole.so php -m |...

    Linux下php扩展加载顺序冲突的解决方案

    比如,在安装swoole的时候开启了mysqlnd的支持,那么就需要先加载mysqlnd扩展。
    查看:php -m | grep mysqlnd

    安装好swoole后,在php.ini中增加 extension=swoole.so

    php -m | grep swoole

    发现报错:
    PHP Warning: PHP Startup: Unable to load dynamic library ‘/usr/lib64/php/modules/swoole.so’ - /usr/lib64/php/modules/swoole.so: undefined symbol: mysqlnd_cset_escape_slashes in Unknown on line 0

    其实就是没有加载到mysqlnd扩展,导致swoole记载失败,因为php.ini中的扩展优先加载,然后再加载 php.d 目录下扩展,所以就冲突了。

    mysqlnd在安装php的时候就安装好了,而且/etc/php.ini中没有mysqlnd.so,那么实际上它是在/etc/php.d/mysqlnd.ini中加载的。

    cd /etc/php.d
    ls

    可以看到目录下包含很多扩展,在这个目录下的扩展加载也是分先后顺序(按文件每次先后),并且我们以后自己安装的扩展尽量都在这里加载。现在有两种方法:

    方法1:
    查看mysqlnd.ini文件内容:

    cat mysqlnd.ini
        ; Enable mysqlnd extension module
        extension=mysqlnd.so
    

    先删除php.ini中的swoole.so加载。

    cd /etc/php.d
    cp mysqlnd.ini swoole.ini
    vi swoole.ini
    

    修改为 swoole.so

    因为 mysqlnd.ini 本来就是在 swoole.ini 前面,所以会先于swoole加载。

    方法2:
    在 mysqlnd.ini 文件里面添加 swoole.so

    比如event扩展,它应该在sockets扩展之后,但是名称又排在sockets之前,所以只能使用这种方法。

    php -m | grep swoole

    展开全文
  • linux配置php扩展GD库等

    万次阅读 2017-06-06 17:29:01
    linux配置php扩展GD库等 php+apache+mysql的安装此处省略,安装参考如下。 手动安装请参考 http://www.linuxidc.com/Linux/2015-05/118062.htm 通过yum下载安装请参考 ...

    linux配置php扩展GD库等



    1. php+apache+mysql的安装此处省略,安装参考如下。

    手动安装请参考

    http://www.linuxidc.com/Linux/2015-05/118062.htm

    通过yum下载安装请参考

    http://www.jb51.net/article/95774.htm

    通过以上安装好了php,并且可以展示php页面。此时当需要增加php-gd库时,会出现gd库不存在。此时可以通过一下方法实现php-gd库的导入。

    找到当初安装php是的源码所放位置,即是当初解压实现安装的那个php目录

    我的php安装源码的位置:
    /usr/local/php/php-5.4.9

    在php安装源码文件中有一个扩展文件的存放地址:/usr/local/php/php-5.4.9/ext

    一般常用的php扩展都在此处,现在要解决的php-gd库也在此处,进入gd库文件中:cd gd

    在gd文件中运行:/usr/local/php/bin/phpize 给php动态添加扩展,此处的路径是你安装的php路径

    通过此次命令你会发现gd文件中出现很多新的文件。此时就可以像配置php一样实现添加gd扩展。运行命令:./configure --with-php-config=/usr/local/php/bin/php-config 这里的php-config也是安装的php路径下

    接着make

    之后make install

    幸运的发现出现了两句提示:

    Installing shared extensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
    Installing header files:/usr/local/php/include/php/

    这里出现的路径是安装好的gd.so的路径,可以通过:

    cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/ /usr/local/php/php-5.4.9/ext/

    将gd.so复制到确认使用的扩展文件夹中,这里的路径会和下面的php.ini文件中的扩展路径相同

    这个时候GD库已经安装完成。接下来就是和php整合在一起。

    找到你的php.ini文件,也就是当初copy源码中的php.ini-development文件,我的文件是放在了php安装目录下的lib中,所以通过:vi /usr/local/php/lib/php.ini 打开php.ini文件。如图:

    源码是 ;extension_dir = "./"此处我们将前面的分号去掉,并且将我们的接下来要使用的库扩展路径加上。我这里将库扩展放在了源码中,即 ;extension_dir = "/usr/local/php/php-5.4.9/ext/" 同上诉的路径

    接着要在php.ini文件中找到extension的扩展文件区域,增加一句 extension = gd.so,此处前面没有分号。

    最后重启apache即可。service httpd restart。就可以看到gd库已经加载。

    如果遇到了 configure: error: png.h not found.的报错,请先将GD库的支持库安装好。
    可参考: http://www.cnblogs.com/ttiandeng/p/6566027.html

    一般还会遇到mbstring,curl 以及php-mysql 的扩展,mbstring 和curl 都可以通过上述方式实现,mysql需要多注意一些。

    mysql扩展在安装前,先将mysql-devel安装好,否则会出现configure的错误

    yum -y install mysql-devel

    注意如果是64位的操作系统的话,还需要做个软连接,否则也会出现configure的错误

    ln -s /usr/lib64/mysql /usr/lib/mysql

    和前面的gd库相同,进入到相应的mysql的扩展文件夹中

    cd /usr/local/php/php-5.4.9/ext/mysql/

    /usr/local/php/bin/phpize

    ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql=/usr

    make

    make install

    配置php.ini文件,重启apache服务。


    本文参考:


    展开全文
  • Linuxphp安装Redis扩展

    2017-12-01 14:28:24
    注意:目录的权限 chomd 777 -R1、安装redis扩展方法 a: 下载:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz上传phpredis-2.2.4.tar.gz到/usr/local/src目录cd /usr/local/src #进入软件包存放目录...

    注意:目录的权限 chomd 777 -R

    1、安装redis扩展

    方法 a:
    下载:https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz

    上传phpredis-2.2.4.tar.gz到/usr/local/src目录

    cd /usr/local/src #进入软件包存放目录

    tar zxvf phpredis-2.2.4.tar.gz #解压

    cd phpredis-2.2.4 #进入安装目录
    //======================================
    方法 b:
    直接git clone https://github.com/phpredis/phpredis
    cd /phpredis #进入安装目录
    //======================================

    /usr/local/php/bin/phpize #用phpize生成configure配置文件

    ./configure –with-php-config=/usr/local/php/bin/php-config #配置

    make #编译

    make install #安装

    安装完成之后,出现下面的安装路径

    /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

    2、配置php支持

    vi /usr/local/php/etc/php.ini #编辑配置文件,在最后一行添加以下内容

    添加

    extension=”redis.so”

    :wq! #保存退出

    3 重启服务

    sudo service nginx restart

    sudo /etc/init.d/php-fpm restart

    来源 https://www.cnblogs.com/zgaspnet/p/3939198.html

    可能遇到的问题:
    php 函数proc_open() 不支持
    这里写图片描述
    这里就需要去修改php.ini 中的 disable_functions
    这里写图片描述
    删除proc_open 让函数生效

    展开全文
  • linux开发php c扩展实例

    千次阅读 2016-07-08 23:24:50
    php取得成功的一个主要原因之一是它拥有大量的可用...PHP扩展(PECL)跟php引擎一样都是使用c语言开发 php扩展开发需要注意什么? 1、开发扩展比使用PHP开发相同功能成本与难度都要更高 2、后期维护不易 3、系统及PH
  • linux下为php添加curl扩展的方法发布于 2014-12-19 18:36:10 | 106 次阅读 | 评论: 0 | 来源: 网友投递PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。...
  • 参照: 基于Linux下PHP连接SQL Server的FreeTDS... 使用phpize建立php扩展 Cannot find config.m4. 注:php安装地方 /usr/local/php  php源码包 /usr/local/src/php-4.3.5  FreeTDs下载http://ftp.ibiblio....
  • 心血来潮整理一下php扩展开发步骤,最简单的,几乎不写什么代码 1、准备条件:LINUX环境(centos7.5),下载PHP源码(我这是7.2的,如果编译安装过就直接进入编译安装的源码目录下操作记性,不必重新再来下载解压...
  • LinuxPHP7.2扩展

    2019-09-27 05:33:11
    由于公司某项目需要连接oracle数据库,该项目使用的开发语言为PHP,故需要对PHP进行扩展 环境说明 服务器:Centos7 PHP:7.2, 源码安装;安装路径:/usr/local/xxx/php-7.2 扩展过程 前期准备 下载oracle所需...
  • linux安装php7.2扩展fileinfo

    千次阅读 2019-05-28 12:15:33
    最简便的方法是使用pecl安装php的扩展,方便快捷,这里使用的是源码编译安装php扩展 项目 中上传图片遇到的问题: 明显是fileinfo不被支持,没有安装fileinfo。接下来开始安装 因为我的linux服务器里比较干净,...
  • 安装 php-redis扩展
  • Linux下利用phpize安装php扩展

    万次阅读 2012-05-21 17:20:25
    php有很多扩展功能,我们在初次安装的时候并没有安装某些扩展,可能在使用的过程中,又需要用到这些扩展php提供了一个phpize工具供我们安装需要的扩展。 下面我通过安装socket扩展来介绍phpize的使用: 1....
  • Linux下编译php扩展

    2017-08-17 13:19:05
    而在linux,你cd到php的extensions目录往往发现里面空空的。或许只有几个so文件落寞地待着。 这里以编译fileinfo扩展为例(注意这是php内置的扩展,如果你编译的是第三方扩展请自行到官网下载源码) 一、找到
  • 使用php的常见问题是:编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想删除目录重装,别说,php还真有这样的功能。  我没有在手册中看到。  如我想增加bcmath支持...
  • 在项目初始部署环境的时候,可能考虑的并不全面,就会少装一些扩展,这里讲解如何添加fileinfo扩展 1、找到php安装的压缩包 2、将压缩包cp到 /data目录下,并解压 cp php-7.0.30.tar.gz /data cd /data ...
  • linux 安装php mysql扩展

    2017-04-10 23:09:12
    mysql 5.3.3处理步骤记录如下:yum -...删除干净之后,yum install php-mysql出来的是依赖包mysql-libs版本是5.1的。依赖包和之前安装的mysql-server5.5冲突。在网上百度找到高版本的依赖包,wget http://dev.mysql....
  • Linux下调用C++源码写PHP扩展

    千次阅读 2017-07-22 15:24:59
    想必有些PHP小伙伴对于写扩展很是头疼,拿我来说吧,完全不懂C++语法,却扔几个C++文件,强行要我去linux下强行编译一个C++静态/动态库(他们C++端也仅仅在windows下测试通过了罢了),无奈,只能硬着头皮上了(实际...
  • thinkphp5 扩展redis Linux搭建redis php搭建redis
  • 卸载pecl/event扩展 一、php.ini 中删除 extension=event.so 二、卸载event扩展 pecl uninstall event 完成
  • Linux环境安装phpredis扩展

    千次阅读 2016-02-24 10:19:33
    作者官网https://github.com/phpredis/phpredis # wget https://github.com/nicolasff/phpredis/archive/2.2.7.tar.gz# tar zxvf phpredis-2.2.7.tar.gz# cd phpredis-2.2.7用phpize生成configure配置文件# /usr/...
  • php 7.4 redis redis-5.0.7 php-redis redis-5.0.0 make test 出现 PHP Warning: PHP Startup: Unable to load dynamic library 'redis' (tried: /usr/local/phpredis/modules/redis (/usr/local/...
  • 今天公司生产机需要安装环境,由于采用阿里云服务器,服务器没有使用到mysql服务,所以没有安装,但是php需要安装mysqli扩展,通过PHP安装包自带的mysqli编译安装的时候遇到了问题. ./configure --prefix=/usr/local...
  • 2. 使用 php -m|grep swoole 查看是否已经安装了swoole 3.使用 php --ri swoole 查看 swoole 的版本 4.解压下载下来的swoole的源文件(假设为 /var/download/swoole4.5) 5.找到phpize 文件 (可使用 whereis ...
  • linux下的php-cpp项目
  • Linux上安装php-mysqlnd扩展

    万次阅读 2016-07-31 18:37:36
    在 centOS上安装了php-mysql扩展后,朋友说php-mysqlnd的扩展连接和操作数据库上更好,以下是mysqlnd的介绍: Mysql Native驱动(Mysql Native Driver 简称:mysqlnd )在PHP5.3.0版本中被引入。PHP5.4之后的版本...
  • 我们在宝塔 Linux 面板中安装环境(如Nginx 或 Apache、PHP 等)一般都不需要对 PHP 进行设置,不过某些环境下 PHP 需要安装一些必要的扩展,也有可能需要禁用一些函数,那么在宝塔 Linux 面板中应该如何操作呢?...
  • Debian Linux下增加php对curl扩展的支持

    千次阅读 2018-03-22 13:32:43
    使用php -m查看php当前已开启扩展库原本在安装php时没有设置curl扩展库,最近项目需要curl...进入到php源码目录下的扩展库源码目录的curl源码目录(源码目录是当时安装php时使用的源码的目录,如果删除了,可以去p...
  • Linux上创建PHP4的C++扩展Jason1. 必须的工具2. 主要步骤 2.1. 创建 2.2. 编译 2.3. 调试3. 总结1. 必须的工具如下工具是必须的: 1. gcc. 我使用的是3.4.3 2. autoconf. 我使用的是 2.13-5. ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,948
精华内容 17,179
关键字:

linuxphp扩展删除

linux 订阅