设为首页 收藏本站
查看: 657|回复: 0

[经验分享] LAMP搭建18:PHP安装扩展模块

[复制链接]

尚未签到

发表于 2018-12-14 11:21:16 | 显示全部楼层 |阅读模式
  查看PHP模块
  [root@centos6 ~]# php -m
  [PHP Modules]
  bz2
  Core
  ctype
  date
  dom
  ereg
  exif
  fileinfo
  filter
  gd
  hash
  iconv
  json
  libxml
  mbstring
  mcrypt
  mysql
  openssl
  pcre
  PDO
  pdo_sqlite
  Phar
  posix
  Reflection
  session
  SimpleXML
  soap
  sockets
  SPL
  sqlite3
  standard
  tokenizer
  xml
  xmlreader
  xmlwriter
  zlib
  [Zend Modules]
  如果我们发现有一个模块没有编译进来,解决办法有两种:第一,需要重新编译,重新配置;第二,单独编译该模块,使用动态共享的方式加载该模块。我们自己尝试编译一个PHP动态共享模块。
  PHP安装包的ext目录下包含了许多模块的源代码:
  [root@centos6 ~]# cd /usr/local/src/php-5.4.36
  [root@centos6 php-5.4.36]# cd ext
  [root@centos6 ext]# ls
  bcmath      dba                 fileinfo  iconv      mbstring  odbc          pdo_mysql   posix       simplexml  standard   wddx       zlib
  bz2         dom                 filter    imap       mcrypt    openssl       pdo_oci     pspell      skeleton   sybase_ct  xml
  calendar    enchant             ftp       interbase  mssql     pcntl         pdo_odbc    readline    snmp       sysvmsg    xmlreader
  com_dotnet  ereg                gd        intl       mysql     pcre          pdo_pgsql   recode      soap       sysvsem    xmlrpc
  ctype       exif                gettext   json       mysqli    pdo           pdo_sqlite  reflection  sockets    sysvshm    xmlwriter
  curl        ext_skel            gmp       ldap       mysqlnd   pdo_dblib     pgsql       session     spl        tidy       xsl
  date        ext_skel_win32.php  hash      libxml     oci8      pdo_firebird  phar        shmop       sqlite3    tokenizer  zip
  PHP默认没有没有安装curl模块,下面命令返回无结果:
  [root@centos6 ext]# php -m |grep -i curl
  我们以编译安装PHP的curl模块为例进行说明:进入curl目录
  [root@centos6 ext]# cd curl
  [root@centos6 curl]# ls
  config.m4  config.w32  CREDITS  curl.dsp  interface.c  multi.c  package.xml  php_curl.h  streams.c  tests
  生成configure相关的文件:
  [root@centos6 curl]# yum install -y  m4 autoconf#安装两个自动生成configure的工具
  [root@centos6 curl]# /usr/local/php/bin/phpize#生成configure
  Configuring for:
  PHP Api Version:         20100412
  Zend Module Api No:      20100525
  Zend Extension Api No:   220100525
  [root@centos6 curl]# ls
  acinclude.m4    config.h.in   config.w32   ltmain.sh        package.xml
  aclocal.m4      config.m4     CREDITS      Makefile.global  php_curl.h
  autom4te.cache  config.sub    curl.dsp     missing          run-tests.php
  build           configure     install-sh   mkinstalldirs    streams.c
  config.guess    configure.in  interface.c  multi.c          tests
  配置
  [root@centos6 curl]# ./configure --with-php-config=/usr/local/php/bin/php-config
  错误1:configure: error: Please reinstall the libcurl distribution -
  easy.h should be in /include/curl/
  解决:[root@centos6 curl]#  yum -y install curl-devel
  编译
  [root@centos6 curl]# make
  [root@centos6 curl]# echo $?
  0
  安装
  [root@centos6 curl]# make install
  Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
  [root@centos6 curl]# echo $?
  0
  模块已生成
  [root@centos6 curl]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
  curl.so
  查看extension_dir
  [root@centos6 curl]# php -i |grep extension_dir
  extension_dir => /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525 => /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525
  sqlite3.extension_dir => no value => no value
  [root@centos6 curl]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
  curl.so
  也可以自定义extension_dir
  [root@centos6 curl]# vim /usr/local/php/etc/php.ini
  ……
  ; Directory in which the loadable extensions (modules) reside.
  ; http://php.net/extension-dir
  ; extension_dir = "./"
  ; On windows:
  ; extension_dir = "ext"
  ……
  配置加载curl.so
  ……
  ;extension=php_pgsql.dll
  ;extension=php_pspell.dll
  ;extension=php_shmop.dll
  extension=curl.so
  ……
  查看动态加载的模块
  [root@centos6 curl]# php -m |grep curl
  curl
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-651296-1-1.html 上篇帖子: LAMP搭建17:PHP配置文件php.ini详解 下篇帖子: PHP代码收录ing
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表