河南龙祥软件科技有限公司

He Nan Long Xiang Software Technology Co., Ltd.

24小时服务热线:18236995786

PHP安装包中configure后的参数作用

configure是linux系统源码安装软件时用来配置环境参数,然后根据配置的参数生成编译文件,在后续编译安装使用。在编译安装的软件中包含configure文件,每个软件的configure里的参数都不太一样,安装之前可以用./configure --help先查看一下。

使用方法:

        一、进入需要安装的软件文件夹中。

        二、执行命令:./configure 各种参数

        例如:./configure --prefix=/usr/local/php7.3 --enable-fpm --with-curl

image.png

执行这个命令后,系统会检查各个参数对应的依赖应用是否正常,如果不正常,就会给出错误提示,根据错误提示安装对应的应用后再次执行这个命令就行了,直到没有错误信息为止。

configure中可以使用很多参数,这些参数各有各的功能,在执行的时候根据需要设置对应的参数就行。

可以使用./configure --help命令查看它下面的所有参数及这些参数的作用。

image.png

各参数的类型和特点:

1、路径设置,设置编译安装时各种文件类型安装的位置,比如程序安装位置,配置文件存放位置等。

如:--prefix=/usr/local/php-7.3

2、编译扩展库时需要依赖第三方类库的PHP扩展库

--with-xxx=path

若依赖是用rpm,yum 安装在linux默认位置,则不用指定。若依赖是编译安装在其他位置,则要指定依赖包的安装路径。

如编译php的mysqli,pdo-mysql扩展时使用php源码自带的mysqlnd(文件在解压的源码文件根目录)驱动。

如:--with-mysqli=mysqlnd

3、指定php扩展库运行时需要的依赖包位置,如gd库运行时需要的jpeg,png,freetype,zlib库

--with-xxx-dir=path  #如果不指定路径会在默认安装位置查找(相关的包要在Linux上已安装)

如:--with-jpeg-dir

4、编译扩展库时不需要依赖第三方类库的php扩展库(如ftp,zip,libxml)

--enable-xxx

如:--enable-ftp

5、某些默认会编译安装的库不让它编译(如编译时占用内存很大的库:fileinfo)

--disable-xxx

如:--disable-fileinfo


常用参数作用如下:

--prefix:编译安装到这个目录中,使用方法:--prefix=/usr/local/php-7.3

--exec-prefix:扩展插件安装到这个目录中,使用方法:--exec-prefix=/usr/local/php-7.3/exec

--with-config-file-path:指定配置文件的位置,php的配置文件是php.ini,使用方法:--with-config-file-path=/usr/local/php7.3/etc

--enable-maintainer-zts:开启线程安全,下载的linux版本PHP如果是非线程安全的,可以加上这个把它变成线程安全的。

--enable-pcntl:开启多线程。

--enable-ftp:如果要在php中使用ftp函数就需要加上这个,连接ftp服务器等功能。

--enable-fpm:开启fpm,这个模块是php后续版本自带的,所以直接开启就可以了。

--enable-mysqlnd:开启mysqlnd模块,这个模块是php内置的,希望关于mysql的扩展都用它来支持,这个模块不需要安装mysql就能正常编译。

--enable-static:生成静态链接库,库文件后缀为lib*.a,编译生成体积大,默认为开启。

--enable-shared:生成动态链接库,库文件后缀为.so,编译生成体积小,默认为开启。

--enable-sockets:开启socket支持,如果不开启,在php中使用socket相关函数会报错。

--enable-calendar:开启不同日历格式之间转换,看情况添加。

--enable-bcmath:开启精度浮点数之间的计算功能,不使用这个会出现计算结果不准确的情况。

--enable-mbstring:开启多字节字符串的处理(中文就属于多字节字符串,一个汉字占用多个字节),用mb相关的函数可以很方便的处理中文字符串。

--enable-intl:是国际化扩展,是ICU库的一个包装器。

--enable-zip:开启zip压缩支持,用php代码压缩文件或文件夹用。需要先安装libzip-devel,方法:yum -y install libzip-devel

--enable-sysvmsg:开启sysvmsg消息队列,这个功能是PHP对UNIX的V IPC函数族的包装。

--enable-sysvsem:开启sysvsem信号量,通过它可以实现进程通信、竞争等,这个功能是PHP对UNIX的V IPC函数族的包装。

--enable-sysvshm:开启sysvshm内存共享,这个功能是PHP对UNIX的V IPC函数族的包装。

--with-mysqli=mysqlnd:设置mysqli模块使用mysqlnd模块支持,如果不指定值会默认指向mysqlnd。

--with-pdo-mysql=mysqlnd:设置pdo-mysql模块使用mysqlnd模块支持,如果不指定值会默认指向mysqlnd

--with-mhash:mhash 是基于离散数学原理的不可逆向的 PHP 加密方式扩展库。mhash 可以用于创建校验数值,消息摘要,消息认证码,以及无须原文的关键信息保存(如密码)等。

--with-iconv-dir:指定iconv模块的位置,这个模块的作用是进行字符串编码转换。

--with-gettext:开启多语言功能。Debian/Ubuntu 需安装 gettext 依赖包。Redhat/CentOS 需安装 gettext, gettext-devel 依赖包。

--with-gd:开启图像处理扩展,开启后可以对图片进行各种处理。

--with-curl:开启curl扩展,开启后可以在php代码中访问url并得到返回的数据。需要先安装curl-devel,方法:yum -y install curl-devel

--with-openssl:开启ssl扩展,开启后可以对密钥进行比较判断处理。需要先安装curl-devel,方法:yum -y install openssl-devel

--with-pcre-regex:开启pcre兼容的正则表达式库,一般都用这个。

--with-freetype-dir:作用是将文字画到图片上,比如验证码就是把数字或汉字画到指定位置了。需要先安装freetype-devel,方法:yum -y install freetype-devel

--with-jpeg-dir:开启jpeg图片的保存支持,不开启时保存图片为jpg会报错。需要先安装libjpeg-devel,方法:yum -y install libjpeg-devel

--with-png-dir:开启png图片的保存支持。需要先安装libpng-devel,方法:yum -y install libpng-devel

--with-libxml-dir:开启libXML2库的支持。需要先安装libxml2-devel,方法:yum -y install libxml2-devel

--disable-xml:关闭xml支持,xml功能默认是开启的,如果想关闭,可以使用这个设置。

--disable-opcache:禁用Zend缓存加速。


其它参数作用:

--with-bz2:用于透明的读写.bzip2(bz2)压缩文件。

--enable-cnlendar:启用日历。

--disable-ctype:禁用字符检测,这个扩展默认是开启的,可以使用这个命令关闭。

datetime:日期和时间函数,默认编译安装,不可禁用。

--enable-dba:启用dba扩展,这个扩展不知道是干什么的,这个参数默认会自带三个参数:−−with-cdb,−−enable-inifile,inifile-flatfile,若要禁止,则需通过参数−−without-cdb=DIR,−−disable-inifile,−−disable-flatfile 实现。

−−disable-dom:全名是Document Object Model,默认开启此扩展,可通过该命令禁用,dom扩展允许您使用php通过dom api在xml文档上进行操作。

−−with-enchant=DIR:引入enchant支持,需要GNU Aspell 1.1.3版或更高版本,不知道什么作用,一般需指定其目录,−−with-enchant=/usr,Debian/Ubuntu 需安装 libenchant-dev, libpspell-dev 依赖包。Redhat/CentOS 需安装 enchant-devel, aspell-devel 依赖包。

−−enable-exif:开启exif(metadata from images)扩展,通过使用 exif 扩展,你可以操作图像元数据。

−−disable-fileinfo:文件信息扩展,该扩展默认为开启,使用该命令禁用fileinfo扩展。

−−disable-filter:文件信息扩展默认启用,可以用此命令关闭,另如果要给此扩展指定 PCRE 安装目录的话,则使用编译参数:−−with-pcre-dir

−−with-gmp=DIR:使用GNU MP库处理任意长度的整数,Debian/Ubuntu 需安装 libgmp-dev 依赖包。Redhat/CentOS 需安装 gmp-devel 依赖包。

−−disable-hash:哈希引擎默认为开启,可以使用这个命令禁用它。

igbinary:序列化和反序列化,效率要比Php自带的高。

−−disable-libxml:libxml 函数和常量与 SimpleXML, XSLT 以及 DOM 一起使用。默认开启,可以使用这个命令禁用它。

mongodb:mongodb数据库的扩展。

−−disable-pdo:pdo则提供了一个统一的API接口,使得你的PHP应用不去关心具体要连接的数据库服务器系统类型。默认开启,可以使用这个命令禁用它。

pdo_sqlite:是一个驱动程序,它实现了PHP数据对象(PDO)接口来访问SQLite 3数据库。

−−disable-phar:PHP5.3 之后支持了类似 Java 的 jar 包,名为 phar。用来将多个 PHP 文件打包为一个文件。这个特性使得 PHP 也可以像 Java 一样方便地实现应用程序打包和组件化。一个应用程序可以打成一个 Phar 包,直接放到 PHP-FPM 中运行。默认开启,可以使用这个命令禁用它。

−−disable-posix:该模块包含IEEE 1003.1(POSIX.1)标准文档中定义的那些功能的接口,这些接口不能通过其他方式访问。进程控制中用到。默认开启,可以使用这个命令禁用它。

−−with-readline=DIR:readline 扩展函数实现了访问 GNU Readline 库的接口. 这些函数提供了可编辑的命令行。Debian/Ubuntu 需安装 libreadline-dev 依赖包。Redhat/CentOS 需安装 readline-devel 依赖包。

redis:redis扩展。

−−disable-reflection:它是用来导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。默认开启,可以使用这个命令禁用它。

−−disable-session:seesion扩展,默认开启,可以使用这个命令禁用它。

−−enable-shmop:共享内存。

−−disable-simplexml:处理xml,默认开启,可以使用这个命令禁用它。

SPL:SPL是用于解决典型问题(standard problems)的一组接口与类的集合。默认开启。

−−without-sqlite3=DIR:对 SQLite v3 数据库的支持信息。默认开启,可以使用这个命令禁用它。

−−without-pdo-sqlite=DIR:对 SQLite v3 数据库的支持信息。默认开启,可以使用这个命令禁用它。

standard:标准库。

−−disable-tokenizer:tokenizer函数提供了一个内嵌在Zend引擎的”PHP tokenizer”的调用接口。使用这些函数,你可以写出你自己的PHP源码分析或者修改工具,而无需处理词法分析级别上的语言规范。默认开启,可以使用这个命令禁用它。

−−enable-wddx:Web分布式数据交换(WDDX)。

−−disable-xmlreader:XMLReader扩展是一个XML Pull解析器。默认开启,可以使用这个命令禁用它。

−−with-xmlrpc=DIR:

−−disable-xmlwriter:这是XMLWriter扩展。它包装了libxml xmlWriter API。提供了一个非缓存的,只能转发的方式来生成包含XML数据的流或文件。默认开启,可以使用这个命令禁用它。

−−with-xsl=DIR:指扩展样式表语言。Debian/Ubuntu 需安装 libxslt1-dev 依赖包。Redhat/CentOS 需安装 libxslt-devel 依赖包。

−−with-zlib=DIR:Debian/Ubuntu 需安装 zlib1g-dev 依赖包。Redhat/CentOS 需安装 zlib-devel 依赖包。

−−disable-opcache:opcache 扩展,把 php 代码编译成的 Opocdes 缓存起来,每次请求的时候就不需要前面的编译步骤了。代替以前的 apc 。如果想要利用APC的用户缓存,则还需要安装APCu。APCu可通过PECL获得。APCu为APC提供的共享内存用户空间缓存提供完整的向后兼容API。APCu不应与APC一起安装。默认开启,可以使用这个命令禁用它。


友情链接  LINKS

扫码加微信

关注公众号

河南龙祥软件科技有限公司

联系电话:18236995786(微信同号)

公司地址:河南省郑州市登封市君召乡陈爻

备案号:豫ICP备3306-91号

营业执照

0.132842s