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

    今天因为调用天涯api要增加curl扩展。

    安装php扩展pecl模块有有两种方式:动态.so扩展库和与php核心为一体的静态扩展

    编译动态.so pecl扩展库有两种方式:pear和phpize

    编译成静态pecl扩展库

    refrence:http://www.php.net/manual/zh/install.pecl.php

    具体流程网上有很多参照进行。但其中会遇到很多问题,比如:

    你的php如果是从debian获得的。那么不管是php*-cli、php*-cgi安装都不会有phpize。要使用phpize就得再安装php*-dev。

    安装好phpize后就要进行编译扩展源文件操作。这里的扩展最好从php src源码里面获取。因为按照他自己的习惯,扩展源文件下面必须要有config.m4这个文件(关于这个m4文件http://blog.chinaunix.net/space.php?uid=11636352&do=blog&id=1755590有介绍,就是M4宏处理器要处理的),如果没有就会报错提示:cannot find config.m4。

    然后就./configure --repfix=/dir**/name/ make;make install;

    /dir**/name/lib/下面会生成name.so。

    将安装好的扩展配置到php。php -i|grep extention-dir 找到php modules的放置目录。将name.so拷贝过去,而后在php/*/conf.d(这个目录是php Additional .ini files 存放)下增加name.ini。注意上面的这个*号,由于php的工作方式有cli\cgi\fast-cgi好几种还有作为apache扩展模块等工作方式,自然配置文件也由这么多,具体那种可以通过php -i or <?php phpinfo();?>获取Configuration File (php.ini) Path信息来得到。

    另外比较懒的做法就是直接apt-get安装这些文件

    php-pear - PEAR - PHP Extension and Application Repository
    php5 - server-side, HTML-embedded scripting language (metapackage)
    php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
    php5-cli - command-line interpreter for the php5 scripting language
    php5-common - Common files for packages built from the php5 source
    php5-curl - CURL module for php5
    php5-dbg - Debug symbols for PHP5
    php5-dev - Files for PHP5 module development
    php5-gd - GD module for php5
    php5-gmp - GMP module for php5
    php5-ldap - LDAP module for php5
    php5-mysql - MySQL module for php5
    php5-odbc - ODBC module for php5
    php5-pgsql - PostgreSQL module for php5
    php5-pspell - pspell module for php5
    php5-recode - recode module for php5
    php5-snmp - SNMP module for php5
    php5-sqlite - SQLite module for php5
    php5-tidy - tidy module for php5
    php5-xmlrpc - XML-RPC module for php5
    php5-xsl - XSL module for php5

    只要apt-get install 这些扩展就行了如果你的php5也是这样安装的。因为这样php5的extension dir 默认为/usr/lib/php5/20090626+lfs。而这些安装包得so存放目录也是/usr/lib/php5/20090626+lfs,注意的就是可能name.ini存放路径。有没有很方便。如若不然就的找对应php版本的扩展然后拷贝so和ini到php info里面指出的路径。

    又不是自己写扩展,只是安装而已。没啥深入的,只是配置上要注意。


  • 相关阅读:
    识别IE11浏览器
    国庆过后老革命
    有些东西再忙也要做
    云计算
    SVN下Update出现代码文件删除状态问题
    如何避免历史回退到登录页面
    CodeSmith连Oracle
    NHibernate直接执行SQL进行插入
    nhibernate实体类主键ID赋值问题
    NHibernate不支持复杂的linq,就一定要用DataTable这么低级吗
  • 原文地址:https://www.cnblogs.com/zaric/p/2281088.html
Copyright © 2011-2022 走看看