PHP常用编译参数中文说明


Posted in PHP onSeptember 27, 2014

编译PHP常用的参数的解释

--prefix=/usr/local/php #指定 php 安装目录 

--with-apxs2=/usr/local/apache/bin/apxs #整合apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块

--with-config-file-path=/usr/local/php/etc #用来指定 php3.ini 或 php4.ini 的路径

--with-MySQL=/usr/local/mysql #mysql安装目录,对mysql的支持

--with-mysqli=/usr/local/mysql/bin/mysql_config #mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定。 

--with-mysql-sock=/tmp/mysql.sock #指定mysql套接字文件位置

--enable-safe-mode #打开安全模式,默认值是打开的

--disable-short-tags  #配置本选项后,PHP 的程序就不能使用短的标记,一定要用的长标记

--with-exec-dir=DIR  #PHP 执行路径(有时为了系统的安全性考虑,会指定 PHP 程序一定要在哪个目录执行)

--enable-ftp #打开ftp的支持 

--enable-zip #打开对zip的支持 

--with-bz2 #打开对bz2文件的支持 

--with-jpeg-dir #打开对jpeg图片的支持 

--with-png-dir #打开对png图片的支持 

--with-freetype-dir #打开对freetype字体库的支持 

--without-iconv #关闭iconv函数,各种字符集间的转换 

--with-libXML-dir #打开libxml2库的支持 

--with-XMLrpc #打开xml-rpc的c语言 

--with-zlib-dir #打开zlib库的支持 

--with-gd #打开gd库的支持 

--enable-gd-native-ttf #支持TrueType字符串函数库 

--with-curl #打开curl浏览工具的支持 

--with-curlwrappers #运用curl工具打开url流 

--with-ttf #打开freetype1.*的支持,可以不加了 

--with-xsl #打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件 

--with-gettext #打开gnu 的gettext 支持,编码库用到 

--with-pear #打开pear命令的支持,PHP扩展用的 

--enable-calendar #打开日历扩展功能 

--enable-mbstring #多字节,字符串的支持

--enable-sqlite-utf8  #使sqllite支持utf-8

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

--enable-sockets #打开 sockets 支持

--enable-exif #图片的元数据支持 

--enable-magic-quotes #魔术引用的支持 

--disable-rpath #关闭额外的运行库文件 

--disable-debug #关闭调试模式

--enable-debug  #本选项一般不会使用,除非在开发 PHP 程序时比较有用。它可以显示额外的错误信息 

--with-ldap=DIR  #若要使用目录协议 (Lightweight Directory Access Protocol, LDAP) 则必须要打开本选项。有关 LDAP 的细节,可以参考 RFC 文件的 RFC1777 及 RFC1778

--with-mime-magic=/usr/share/file/magic.mime #魔术头文件位置

--with-apache=DIR   #用本选项可以让 PHP 以apache的模块方式使用,DIR 的字符串可以是 /usr/local/apache 或其它安装apache的目录

--with-custom-odbc=DIR   #使用自订的 ODBC 函数库。当然,在使用本方式时要指定 CUSTOM_ODBC_LIBS 及 CFLAGS 变量。例如在 QNX 机器上使用 Sybase SQL Anywhere 时可能要配置系统环境变量 CFLAGS=-DODBC_QNX、LDFLAGS=-lunix 及 CUSTOM_ODBC_LIBS="-ldblib -lodbc",并要在 PHP 配置加入 --with-custom-odbc=/usr/lib/sqlany50

--with-oracle=DIR    #使用 Oracle 数据库。Oracle 的版本要在 7.3 版以上。您也可以在 PHP 程序中使用环境变量 ORACLE_HOME 来指定 Oracle 的路径。更多有关 Oracle 的信息请参考 Oracle 的网站 http://www.oracle.com

--with-sybase=DIR   #使用 Sybase 数据库。更多有关 Sybase 的信息请参考 Sybase 的网站 http://www.sybase.com

--with-sybase-ct=DIR  #使用 Sybase-CT 数据库

CGI方式安装常用的参数:

--enable-fpm #打上PHP-fpm 补丁后才有这个参数,CGI方式安装的启动程序

--enable-fastCGI #支持fastcgi方式启动PHP

--enable-force-CGI-redirect #重定向方式启动PHP

--with-ncurses #支持ncurses 屏幕绘制以及基于文本终端的图形互动功能的动态库

--enable-pcntl #freeTDS需要用到的,可能是链接mssql 才用到

--with-mcrypt #mcrypt算法的扩展

--with-mhash #mhash算法的扩展

以上函数库需要安装

--with-gmp #应该是支持一种规范

--enable-inline-optimization #优化线程

--with-openssl #openssl的支持,加密传输时用到的

--enable-dbase #建立DBA 作为共享模块

--with-pcre-dir=/usr/local/bin/pcre-config #perl的正则库案安装位置

--disable-dmalloc

--with-gdbm #dba的gdbm支持

--enable-sigchild

--enable-sysvsem

--enable-sysvshm

--enable-zend-multibyte #支持zend的多字节

--enable-mbregex

--enable-wddx

--enable-shmop

--enable-soap

备注:需要单独安装的扩展

1. gd库。
2. ming的扩展。
3. mhash和mcrypt的扩展

1>指定了--with-apxs2=/usr/local/apache/bin/apxs以后,就不要再激活--enable-fpm和--enable-fastCGI,apxs是以php module的模式加载PHP的。

2>Mysql在编译了Mysql开发library以后,可以不用指定mysql的路径。

3>PHP编译存在基础的依赖的关系,编译PHP首先需要安装XML扩展,因为php5核心默认打开了XML的支持,其他的基础库,相应需要:

4>GD -> zlib, Png, Jpg, 如果需要支持其他,仍需要根据实际情况编译扩展库,ttf库需要freetype库的支持。

5>--enable-magic-quotes,是一个极其不推荐的参数,当然,如果你需要PHP为你做这些底下的工作,实际上他也没有很彻底的解决问题。

6>-with-openssl,需要openssl库。

mysqli是MySQL团队提供的MySQL驱动,具有很多实用的功能和典型特征。不过他不是MySQL于PHP平台最好的选择,PDO被证实,是一个简易、高并发性,而且易于创建和回收的标准接口。不过PDO也经历了5.3以前的内存溢出的问题,在5.3以后,在读取Oracle的LOB资源时,若不对内存进行限制,仍会内存溢出。

如果是产品模式,好像pear、shmop、ftp等,都不推荐使用,他们要做的事情,用C/C++,用Java,甚至其他脚本语言,都有很好很快速的选择,无需局限于使用PHP去实现。不熟悉的类库和不常用的库,也不推荐使用。magic-quote、session.auto_start、PHP服务器信息、PHP报错信息等在编译完成后,应该第一时间关闭,避免暴露服务器信息。

PHP对应的Web Server模式,Module、fastcgi、fpm只需要一种即可,服务器不是你的试验田。fastcgi可以选择Nginx和lighttpd,其实Nginx也是使用lighttpd的spwan-fcgi进行fcgi进程管理的。fpm是使用PHP自身去管理多进程,有点类似一个后端代理。无论什么模式,在发布产品服务器,都应该做进程和线程调优,做足够多的性能及压力方面的测试,找出最好的进程数组合。

选好一种PHP OPCode cache的扩展,这个也是很重要的,linux 2.6核心下,fcgi下,xcache有较好的实践经验,其他的在并发数增加以后,性能衰减严重。如果真的想体验,宁可编译多几个PHP版本,也不要针对一个版本的PHP集合各种扩展,适应各种环境,这会让把你自己逼进窘境的。

PHP 相关文章推荐
php仿ZOL分页类代码
Oct 02 PHP
php中拷贝构造函数、赋值运算符重载
Jul 25 PHP
php输出xml必须header的解决方法
Oct 17 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
Jan 04 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
Mar 07 PHP
php版微信自定义回复功能示例
Dec 05 PHP
php使用curl实现简单模拟提交表单功能
May 15 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
PHP实现微信提现功能
Sep 30 PHP
Laravel重定向,a链接跳转,控制器跳转示例
Oct 22 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
PHP错误Warning: Cannot modify header information - headers already sent by解决方法
Sep 27 #PHP
PHP中的output_buffering详细介绍
Sep 27 #PHP
PHP获取mysql数据表的字段名称和详细信息的方法
Sep 27 #PHP
PHP实现手机号码中间四位用星号(*)隐藏的自定义函数分享
Sep 27 #PHP
PHP会话控制:Session与Cookie详解
Sep 27 #PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
Sep 24 #PHP
php实现获取及设置用户访问页面语言类
Sep 24 #PHP
You might like
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
2014/07/01 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
2014/11/05 PHP
php数组查找函数总结
2014/11/18 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
Windows 下安装 swoole 图文教程(php)
2017/06/05 PHP
jQuery+PHP实现图片上传并提交功能
2020/07/27 PHP
javascript知识点收藏
2007/02/22 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
Node.js中require的工作原理浅析
2014/06/24 Javascript
详解JavaScript的流程控制语句
2015/11/30 Javascript
javascript深拷贝(deepClone)详解
2016/08/24 Javascript
微信小程序 教程之注册页面
2016/10/17 Javascript
网页瀑布流布局jQuery实现代码
2016/10/21 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
2017/07/03 Javascript
使用Typescript开发微信小程序的步骤详解
2021/01/12 Javascript
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
利用Tkinter(python3.6)实现一个简单计算器
2017/12/21 Python
Django 数据库同步操作技巧详解
2019/07/19 Python
tensorflow自定义激活函数实例
2020/02/04 Python
使用Python将图片转正方形的两种方法实例代码详解
2020/04/29 Python
matplotlib 三维图表绘制方法简介
2020/09/20 Python
浅析HTML5页面元素及属性
2021/01/20 HTML / CSS
REISS美国官网:伦敦最受欢迎的时尚品牌
2019/08/16 全球购物
英国领先的在线礼品店:Getting Personal
2019/09/24 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
采购部主管岗位职责
2014/01/01 职场文书
学校领导班子成员查摆问题及整改措施
2014/10/28 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
关于环保的广播稿
2015/12/17 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书
导游词之麻姑仙境
2019/11/18 职场文书
nginx结合openssl实现https的方法
2021/07/25 Servers
Windows11 Insider Preview Build 25206今日发布 更新内容汇总
2022/09/23 数码科技