9_php扩展模块的安装

在此处楼主遇到一个问题,用命令查看,居然不出现php 的模块。

[[email protected] ~]# /usr/local/php/bin/php -m

于是进行到目录下这样操作,才出现,望解:

[[email protected] ~]# cd /usr/local/php/bin

[[email protected] bin]# ls

pear  peardev  pecl  phar  phar.phar  php  php-cgi  php-config  phpdbg  phpize

[[email protected] bin]# php -m

[PHP Modules]  # 此时静态或动态文件是看不出来的。动态的是可以在 php.ini 里面去定义。

Core

ctype

date

dom

ereg

fileinfo

filter

hash

iconv

json

libxml

mysqli

pcre

PDO

pdo_sqlite

Phar

posix

Reflection

session

SimpleXML

SPL

sqlite3

standard

tokenizer

xml

xmlreader

xmlwriter

[Zend Modules]

有时候我们会发现有些模块没有编译进来,有两种办法,一是找到源码包重编译。二使用动态的方式来加载。类似于apache 的动态共享模块。

下面我们就来用第二种方法,编译一个动态的共享模块。

[[email protected] ~]# cd /usr/local/src/php-5.6.24  #进到php 的源码包

[[email protected] php-5.6.24]# ls

acinclude.m4      generated_lists     Makefile.global      README.MAILINGLIST_RULES          server-tests-config.php

aclocal.m4        genfiles            Makefile.objects     README.md                         server-tests.php

build             header              makerpm              README.namespaces                 snapshot

buildconf         include             missing              README.NEW-OUTPUT-API             stamp-h.in

buildconf.bat     INSTALL             mkinstalldirs        README.PARAMETER_PARSING_API      stub.c

CODING_STANDARDS  install-sh          modules              README.REDIST.BINS                tests

config.guess      libphp5.la          netware              README.RELEASE_PROCESS            travis

config.log        libs                NEWS                 README.SELF-CONTAINED-EXTENSIONS  TSRM

config.nice       libtool             pear                 README.STREAMS                    UPGRADING

config.status     LICENSE             php5.spec            README.SUBMITTING_PATCH           UPGRADING.INTERNALS

config.sub        ltmain.sh           php5.spec.in         README.TESTING                    vcsclean

configure         main                php.gif              README.TESTING2                   win32

configure.in      makedist            php.ini-development  README.UNIX-BUILD-SYSTEM          Zend

CREDITS           Makefile            php.ini-production   README.WIN32-BUILD-SYSTEM

ext               Makefile.frag       README.EXT_SKEL      run-tests.php

EXTENSIONS        Makefile.fragments  README.GIT-RULES     sapi

footer            Makefile.gcov       README.input_filter  scripts

[[email protected] php-5.6.24]# cd ext/  # php 所有的块都在这个目录下

[[email protected] ext]# ls

bcmath      dom                 ftp        intl      mysqli   pdo           pgsql       shmop      standard   xml

bz2         enchant             gd         json      mysqlnd  pdo_dblib     phar        simplexml  sybase_ct  xmlreader

calendar    ereg                gettext    ldap      oci8     pdo_firebird  posix       skeleton   sysvmsg    xmlrpc

com_dotnet  exif                gmp        libxml    odbc     pdo_mysql     pspell      snmp       sysvsem    xmlwriter

ctype       ext_skel            hash       mbstring  opcache  pdo_oci       readline    soap       sysvshm    xsl

curl        ext_skel_win32.php  iconv      mcrypt    openssl  pdo_odbc      recode      sockets    tidy       zip

date        fileinfo            imap       mssql     pcntl    pdo_pgsql     reflection  spl        tokenizer  zlib

dba         filter              interbase  mysql     pcre     pdo_sqlite    session     sqlite3    wddx

以 curl 为例进行编译

[[email protected] ext]# /usr/local/php/bin/php -m |grep -i curl

[[email protected] ext]# cd curl/

[[email protected] curl]# ls

config.m4  config.w32  CREDITS  curl.dsp  curl_file.c  interface.c  multi.c  package.xml  php_curl.h  share.c  tests

[[email protected] curl]# /usr/l

lib/     lib64/   libexec/ local/

[[email protected] curl]# /usr/local/php/bin/phpize   #生成configure 文件

Configuring for:

PHP Api Version:         20131106

Zend Module Api No:      20131226

Zend Extension Api No:   220131226

[[email protected] curl]# ls

acinclude.m4    build         config.m4   configure.in  curl.dsp     interface.c      missing        package.xml    share.c

aclocal.m4      config.guess  config.sub  config.w32    curl_file.c  ltmain.sh        mkinstalldirs  php_curl.h     tests

autom4te.cache  config.h.in   configure   CREDITS       install-sh   Makefile.global  multi.c        run-tests.php

[[email protected] curl]# ./configure --with-php-config=/usr/local/php/bin/php-config

———————————————————————————————————————————————

楼主在编译的过程中出现了报错,那么就停下解决问题

configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.

[[email protected] curl]# cd /usr/local/src/

[[email protected] src]# wget https://github.com/skvadrik/re2c/releases/download/0.13.6/re2c-0.13.6.tar.gz

# tar xf re2c 0.13.4.tar.gz

# cd re2c 0.13.4

# ./configure

#make && make install

后面还是出错

checking for cURL in default path... not found

configure: error: Please reinstall the libcurl distribution -

easy.h should be in <curl-dir>/include/curl/

在网上找到了解决办法

php安装错误configure: error: Please reinstall the libcurl distribu

今天配置一台server的php支持curl的时候,
出现如下报错

checking
for cURL in default path... not found
configure:
error: Please reinstall the libcurl distribution -
easy.h
should be in /include/curl/

其实就是curl的dev包没有安装,
解决方案:
终端下

#
yum -y install curl-devel

然后就可以继续了

排错到此结束,继续

———————————————————————————————————————————————

[[email protected] curl]# make install  #/curl.so 模块文件会被放在下面这个目录

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

[[email protected] curl]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/curl.so

/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/curl.so

extension_dir 是存放扩展模块的。  也是可以自定义的。

[[email protected] curl]# cd /usr/local/php/bin/

[[email protected] bin]# php -i |grep extension_dir

extension_dir => /usr/local/lib/php/extensions/no-debug-non-zts-20131226 => /usr/local/lib/php/extensions/no-debug-non-zts-20131226

sqlite3.extension_dir => no value => no value

[[email protected] ~]# cd /usr/local/php/bin

[[email protected] bin]# php -m  # 此时是查看不到curl 这个模块的。刚才在php.ini文件将模块名写错

来做测试 “curl1.so"

[[email protected] bin]# tail /usr/local/php/logs/php_errors.log

[02-Oct-2016 09:00:31 UTC] PHP Warning:  PHP Startup: Unable to load dynamic library ‘/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/curl1.so‘ - /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/curl1.so: cannot open shared object file: No such file or directory in Unknown on line 0

[[email protected] bin]# vim /usr/local/php/etc/php.ini

extension=curl1.so # 修正

正常再重新加载就可以看到 curl这个模块,但是楼主不知是哪里出错了,这个效果没有做出来,但是curl 这个命令可以正常使用。只能先跳过去 了。

时间: 2024-11-16 01:57:35

9_php扩展模块的安装的相关文章

php 的rabbitmq 扩展模块amqp安装

error 提示: Please reinstall the librabbitmq distribution itself or (re)install librabbitmq development package if it available in your system 或者 checking for amqp using pkg-config... configure: error: librabbitmq not found 或者 ERROR: `/tmp/pear/temp/am

php扩展模块如何安装

我们编译完php之后,它有一个功能可以查看所有加载的模块,这些模块会包含一些静态的也会包含一些动态的 [[email protected] curl]# /usr/local/php/bin/php -m 一些动态的可以再php.ini也就是php的配置文件里去定义,有时候在我们编译完php之后发现少了一些模块没有编译进来,解决办法有两种: 第一去重新编译安装,找到你的源码包重新来一遍 第二种使用动态的方式把它加载进来,你单独的编译出来的模块就可以了,类似于apache的动态模共享模块,现在我们

2.9-PHP扩展模块如何安装

/usr/local/php/bin/php -m      查看已经安装的模块(静态+动态) 如果发现php缺少某个功能模块,2种解决方法: 1.重新编译源码,加入功能模块. 2.单独编译功能模块,配置中动态加载. 例:php需要增加一个模块curl 1)进入源码包的模块目录 cd /usr/local/src/php-5.4.36/ext 2)进入模块目录 cd /usr/local/src/php-5.4.36/ext/curl 3)/usr/local/php/bin/phpize  目

11.32 PHP扩展模块(redis)安装

扩展: apache rewrite教程: http://coffeelet.blog.163.com/blog/static/13515745320115842755199/ http://www.cnblogs.com/top5/archive/2009/08/12/1544098.html apache rewrite 出现死循环 http://ask.apelearn.com/question/1043 php错误日志级别参考 http://ask.apelearn.com/questi

php 扩展模块如何安装

php和Apache类似,核心文件为/usr/local/php/bin/php,针对Apache的事/usr/local/apache2/modules/libphp5.so模块.这两个文件是核心,我们在编译PHP的时候会提前让他支持一些功能,比如支持MySQL,这个功能其实就是php的一个模块,只不过这个模块是直接和php或者libphp5.so文件编译在一起的.当我们编译完成php后,发现我们还需让php支持另外的模块,这时候可以重新编译php,加上配置参数,或者直接编译出一个独立的模块文

LAMP 2.9 php扩展模块如何安装

php 和 apache 类似,核心文件为/usr/local/php/bin/php,针对 apache 的是/usr/local/apache2/modules/libphp5.so 模块.这两个文件是核心,我们在编译 php 的时候会提前让它支持一些功能,比如支持 mysql,这个功能其实是 php 的一个模块,只不过这个模块是直接和 php 或者 libphp5.so 文件编译在一起的.当我们编译完成 php 后,发现我们还需要让 php 支持另外的模块,这时候可以重新编译 php,加上

php扩展模块redis安装

cd /usr/local/srcwget https://github.com/nicolasff/phpredis/archive/master.zipunzip master.zipcd phpredis-master /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make make install #执行完make install后会生成 #Installing

php安装扩展模块(curl模块)

php安装扩展模块的思路: 1,首先找到需要安装的扩展模块的目录.一般在/usr/local/php/ext目录下 但是有的模块php源码中不一定有,需要自己下载比如memcache.redis等. 2,通过phpize工具生成configure文件. 3,./configure -with-php-config=/usr/local/php/bin/php-config 4,make&&make install 5,通过/usr/local/php/bin/php -i |grep 'e

php7.2安装ldap扩展模块

安装使用php [下载php7.2.13](http://php.net/downloads.php) 编译安装 ./configure' '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--with-config-file-scan-dir=/usr/local/php/etc/php.d' '--with-fpm-user=www' '--with-fpm-group=www' '--enable