PHP 编译参数相关说明

2019-07-05 14:58:26 8201

PHP 有很多编译参数 ,本文将记录这些编译参数和相关联的组件



PHP 7.3.0

以下编译参数需要的相关 RPM 包安装命令


yum install -y gcc gcc-c++ make libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel bison autoconf

rpm -ivh http://www.landui.com/7/plus/x86_64/RPMS//libzip-0.11.2-6.el7.psychotic.x86_64.rpm

rpm -ivh http://www.landui.com/7/plus/x86_64/RPMS//libzip-devel-0.11.2-6.el7.psychotic.x86_64.rpm

完整编译参数


./configure --prefix=/usr/local/php7 --exec-prefix=/usr/local/php7 --bindir=/usr/local/php7/bin --sbindir=/usr/local/php7/sbin --includedir=/usr/local/php7/include --libdir=/usr/local/php7/lib/php --mandir=/usr/local/php7/php/man --with-config-file-path=/usr/local/php7/etc --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mhash --with-openssl --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv  --with-zlib --with-libzip --enable-zip --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-mbregex --enable-mbstring --enable-ftp --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --enable-fpm --disable-cgi --with-fpm-user=nginx --with-fpm-group=nginx --without-gdbm --enable-fast-install --disable-fileinfo

[root@localhost php-build]# ./configure \

--prefix=/usr/local/php7 \                              [php 安装的根目录]

--exec-prefix=/usr/local/php7 \                         [php 执行文件所在目录]

--bindir=/usr/local/php7/bin \                          [php/bin 目录]

--sbindir=/usr/local/php7/sbin \                        [php/sbin 目录]

--includedir=/usr/local/php7/include \                  [php 包含文件所在目录]

--libdir=/usr/local/php7/lib/php \                      [php/lib 目录]

--mandir=/usr/local/php7/php/man \                      [php/man 目录]

--with-config-file-path=/usr/local/php7/etc \           [php 的配置目录]

--with-mysql-sock=/var/run/mysql/mysql.sock \           [php 与 mysql 的 Unix socket 通信文件]

--with-mhash \                                          [Mhash 是基于离散数学原理的不可逆向的 php 加密方式扩展库,其在默认情况下不开启]

--with-openssl \                                        [OpenSSL 是一个安全套接字层密码库]

--with-mysqli=shared,mysqlnd \                          [php 依赖 mysqli 库]

--with-pdo-mysql=shared,mysqlnd \                       [php 依赖 pdo-mysql 库]

--with-gd \                                             [gd 库]                                               

--with-iconv \                                          [关闭 iconv 函数,种字符集间的转换]                        

--with-zlib \                                           [zlib 是提供数据压缩用的函式库]

--enable-zip \                                          [打开对 zip 的支持]

--enable-inline-optimization \                          [优化线程]

--disable-debug \                                       [关闭调试模式]

--disable-rpath \                                       [关闭额外的运行库文件]

--enable-shared \                                       [启用动态库]

--enable-xml \                                          [开启 xml 扩展]

--enable-bcmath \                                       [打开图片大小调整, 用到 zabbix 监控的时候用到了这个模块]

--enable-shmop \                                        [共享内存]

--enable-sysvsem \                                      [共享内存方案]

--enable-sysvshm \                                      [信号量方案]

--enable-sysvmsg \                                      [进程间通信方案]

--enable-mbregex \                                      [开启多字节正则表达式的字符编码。]

--enable-mbstring \                                     [开启多字节字符串函数]

--enable-ftp \                                          [开启 ftp]

--enable-pcntl \                                        [PHP 的进程控制支持实现了 Unix 方式的多进程创建]     

--enable-sockets \                                      [开启套节字]

--with-xmlrpc \                                         [打开 xml-rpc 的 c 语言]

--enable-soap \                                         [开启简单对象访问协议简单对象访问协议]

--without-pear \                                        [开启 php 扩展与应用库]

--with-gettext \                                        [开户 php 在当前域中查找消息]

--enable-session \                                      [允许 php 会话 session]

--with-curl \                                           [允许 curl 扩展]

--with-jpeg-dir \                                       [指定 jpeg 安装目录 yum 安装过后不用再次指定会自动找到]

--with-freetype-dir \                                   [指定 freetype 安装目录 yum 安装过后不用再次指定会自动找到]

--enable-opcache \                                      [开启使用 opcache 缓存]

--enable-fpm \                                          [开启 fpm]

--disable-cgi \                                         [关闭 php-cgi]

--with-fpm-user=nginx \                                 [php-fpm 的用户]

--with-fpm-group=nginx \                                [php-fpm 的用户组]

--without-gdbm \                                        [数据库函数使用可扩展散列和类似于标准 UNIX dbm 的工作]

--enable-fast-install \                                 [为快速安装优化]

--disable-fileinfo                                      [解决不足 1GB 内存的机器出现内存不足]

下面还有一些参数,就不是很常见需要的了


--enable-fastcgi \                                      [开启 FastCGI 关联 Apache]

--with-bz2 \                                            [对 bz2 文件的支持]

--with-libxml-dir \                                     [对 libxml2 库的支持]

--enable-gd-jis-conv \                                  [启用 GD 库的 JIS 日文字体支持]

--with-readline \                                       [PHP 的 CLI 模式信息交互模块]

下面是在 PHP7.3 有变动的参数


--with-zlib

[7.3 已变动]

[7.2 会出现警告,内容如下]

configure: WARNING: ========================================================

configure: WARNING: Use of bundled libzip is deprecated and will be removed.

configure: WARNING: Some features such as encryption and bzip2 are not available.

configure: WARNING: Use system library and --with-libzip is recommended.

configure: WARNING: ========================================================

[PHP 将额外调用 libzip 0.11 的模块]

configure: error: system libzip must be upgraded to version >= 0.11

--with-mcrypt

[7.2 已停用][官方建議使用 Sodium 或 OpenSSL 取代][http://www.landui.com/manual/en/intro.mcrypt.php]

[是 php 里面重要的加密支持扩展库,linux 环境下该库在默认情况下不开启]

--with-mysql

[7.2 已停用][已被 mysqli 完全替换]

[php 依赖 mysql 库]

--enable-gd-native-ttf

[7.2 已停用][已被 GD 移除此选项]

[开启 gd 库原有字体]

PHP 5.6.30

以下编译参数需要的相关 RPM 包安装命令


yum install -y libmcrypt libmcrypt-devel libjpeg-devel libpng libpng-devel libxml2-devel freetype-devel glib2-devel bzip2-devel openssl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c xmlrpc-c-devel

完整编译参数


./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mysql --with-mysqli --with-pdo-mysql --with-gettext --enable-mbstring --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --with-bz2 --with-readline --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --disable-fileinfo


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: