zoukankan      html  css  js  c++  java
  • php安装扩展

    以前以为php的扩展要重新编译php,今天在群友的指点下知道可以像apache模块一样动态扩展,以mcrypt举例。
    进入要安装的扩展的源码目录
    cd /root/php-5.2.6/ext/mcrypt
    运行phpize
    /usr/local/php5/bin/phpize

    [ansi]root@Web2 11 mcrypt $/usr/local/php5/bin/phpize 
    Configuring for:
    PHP Api Version:         20041225
    Zend Module Api No:      20060613
    Zend Extension Api No:   220060519
     
    出现这样的提示说明可以扩展。
     
    然后编译安装
    #./configure --with-php-config=/usr/local/php5/bin/php-config 
    #make
    #make install
    Installing shared extensions:     /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/
    记住这里提示的路径刚才编译的module就在这里
    [ansi]root@Web2 20 mcrypt $cd /usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/
    [ansi]root@Web2 21 no-debug-non-zts-20060613 $ls
    eaccelerator.so  mcrypt.so  memcache.so

    然后编辑php.ini(如果php安装在/usr/local/php5 则php.ini在/usr/local/php5/lib/php.ini中添加
    extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20060613/"
    extension = "mcrypt.so"
    然后重启apache,然后再访问phpinfo.php 就看到支持mcrypt了。
     

     

    使用php的常见问题是:编译php时忘记添加某扩展,后来想添加扩展,但是因为安装php后又装了一些东西如PEAR等,不想删除目录重装,别说,php还真有这样的功能。

      我没有在手册中看到。

      如我想增加bcmath支持,这是一个支持大整数计算的扩展。windows自带而且内置,linux“本类函数仅在 PHP 编译时配置了 --enable-bcmath 时可用”(引号内是手册中的话)

      幸好有phpize,

      方法是,要有与现有php完全相同的php压缩包。我用的是php-5.2.6.tar.gz。

      展开后进入里面的ext/bcmath目录

      然后执行/usr/local/php/bin/phpize,这是一个可执行的文本文件,要确保它在系统中

      会发现当前目录下多了一些configure文件,

      如果没报错,则

      Php代码

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

      注意要先确保/usr/local/php/bin/php-config存在。

      如果你的php安装路径不是默认的,要改。

      如果没有报错,则make,再make install ,然后它告诉你一个目录

      你把该目录下的bcmath.so拷贝到你php.ini中的extension_dir指向的目录中,

      修改php.ini,在最后添加一句extension=bcmath.so

      重启apache.

     

    手把手教你如何动态安装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的动态模块加载就完成了。
  • 相关阅读:
    一个生成随机颜色的js函数
    实战vue代码
    vue练习用免费开源api大全
    vue-resource插件使用
    专题 查找与排序的Java代码实现(一)
    十字链表的画法
    20162322 朱娅霖 作业009 堆和优先队列
    20162322 朱娅霖 作业008 二叉查找树
    20162322 朱娅霖 实验报告二 树
    20162322 朱娅霖 作业007 树
  • 原文地址:https://www.cnblogs.com/kenshinobiy/p/5026527.html
Copyright © 2011-2022 走看看