php编译参数,不用怕!!

很多初学者,在编译php的时候,容易被php的编译参数吓到!

例如:

./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-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-pdo-mysql=/usr/local/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-gd \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir

这么长!!!fuck!都是什么鬼!

下面,我们用最小化原则,来为大家解惑!

其他php编译参数可以很短

./configure --prefix=/usr/local/php --enable-fpm (适合nginx平台)
./configure --prefix=/usr/local/php --with-apxs2=/usr/sbin/apxs (适合apache平台)

PS:–prefix指定安装目录,这个不管编译安装什么软件都通用!

这两个平台由于使用php的方式不同,所以编译参数不同,本文主要以nginx平台为主。

下图是最小化编译安装php的info信息:

php编译参数,不用怕!!

虽然是最小化安装的php,但是默认还是会安装一下php模块

[root@oldboy ~]# /application/php/bin/php -m
[PHP Modules]
Core
ctype
date
dom
ereg
fileinfo
filter
hash
iconv
json
libxml
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
[Zend Modules]

只是很多时候,我们的php项目会用到其他很多其他的模块,

例如discuz论坛:

php编译参数,不用怕!!

从环境检测的要求来看,我们需要在编译php的时候,增加–with-curl启用curl模块和–with-gd 启动GD模块,discuz还需要连接数据库,所以还得增加–with-mysql=mysqlnd

例如phpmyadmin:

php编译参数,不用怕!!

从官方文档可以看出,需要的php模块有session,hash,ctype,json,mbstring,zip,gd2,openssl,xml,libxml,curl等,其中session,hash,ctype,json,xml,libxml最小化安装的php就有,不用额外指定编译参数

例如:zabbix

php编译参数,不用怕!!

总结:php的模块,就像qq游戏大厅里的游戏,可以随意的添加,但是建议,php编译参数,不要盲目的去指定一大堆用不上的参数,满足项目需要即可!只要是程序都可能有bug,有漏洞,最小化原则,可以减少被攻击的风险!

参考:https://www.qstack.com.cn/archives/178.html

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论