LNMP环境搭建之php安装,wordpress博客搭建
一、介绍:
1.什么是CGI
CGI全称是"通用网关接口"(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行"交谈"的一种工具,其程序一般运行在网络服务器上。 CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。
传统CGI接口方式的主要缺点四性能较差,因此诞生了FastCGI
2.什么是FastCGI
FastCGI是一个可延伸且高速的在HTTP服务器和动态脚本语言间通信的接口,FastCGI技术目前支持语言有 PHP、C/C++、Java、Perl、Tcl、Python、SmallTalk、Ruby、Aardio等。相关模块在Apache,IIS, Lighttpd,Nginx等流行的服务器上也是可用的。CGI,FastCGI的不依赖于任何Web服务器的内部架构,因此即使服务器技术的变化, FastCGI依然稳定不变。
官网:http://www.fastcgi.com
3.什么是php
PHP(外文名:PHP: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
官网:http://php.net/
4.Fast和Nginx,PHP的关系
Nginx结合PHP Fast CGI 运行原理图
FastCGI的主要有点是把动态语言和HTTP服务器分离开,使Nginx专一处理静态请求和向后转发动态请求,而PHP/PHP-fpm服务器专一解析PHP动态请求
3.libiconv简介
国际文本大多以Unicode编码 。然而,由于历史原因,有时仍使用语言或国家相关字符编码进行编码。随着互联网的出现和各国频繁的文本交换 - 即使是在外国观看网页也是"文本交流",这些编码之间的转换已成为必要。
特别是具有Windows操作系统的计算机仍然使用传统的(有限的)字符编码在本地进行操作。某些程序(如邮件程序和Web浏览器)必须能够在给定的文本编码和用户的编码之间进行转换。其他程序在Unicode内部存储字符串,以方便内部处理,并且在进行I / O时需要在内部字符串表示(Unicode)和外部字符串表示(传统编码)之间进行转换。GNU libiconv是两种应用程序的转换库。
官网:http://www.gnu.org/software/libiconv/
二、安装前准备工作
php 各版本下载地址:
5.5.38
http://cn2.php.net/distributions/php-5.5.38.tar.gz
5.6.31
http://cn2.php.net/distributions/php-5.6.31.tar.gz
7.0.23
http://cn2.php.net/distributions/php-7.0.23.tar.gz
7.1.9
http://php.net/distributions/php-7.1.9.tar.gz #这里使用5.6.31
1.安装php首先要先安装nginx或者apache,mysql
安装MySQL:http://www.cnblogs.com/imweihao/p/7156754.html
安装Nginx:http://www.cnblogs.com/imweihao/p/7487323.html
2.安装依赖
配置国内yum源:http://www.cnblogs.com/imweihao/p/7357484.html
[root@001 ~]# yum install gcc gcc-c++ -y
[root@001 ~]# yum install openssl-devel zlib-devel libxml2-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel mhash mhash-devel mcrypt mcrypt-devel libmcrypt-devel -y
3.安装libiconv库
[root@001 ~]# wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
[root@001 ~]# tar -xf libiconv-1.15.tar.gz -C /usr/local/src/
[root@001 ~]# cd /usr/local/src/libiconv-1.15/
[root@001 libiconv-1.15]# ./configure --prefix=/usr/local/libiconv
[root@001 libiconv-1.15]# make && make install
4.下载PHP 5.6.31
[root@001 ~]# wget http://cn2.php.net/distributions/php-5.6.31.tar.gz
[root@001 ~]# tar xf php-5.6.31.tar.gz -C /usr/local/src/
三、开始编译安装PHP
[root@001 ~]# cd !$
[root@001 src]# cd php-5.6.31/
[root@001 php-5.6.31]# ./configure --prefix=/usr/local/php --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-zend-multibyte --enable-static --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp
[root@001 php-5.6.31]# make -j 4 && make install
四、配置 1.将源码中的php.ini-development复制到PHP的目录下,并改名为PHP.ini
[root@001 php-5.6.31]# cp php.ini-production /usr/local/php/lib/php.ini
2.复制一份php-fpm配置文件,命名为php-fpm.conf(/usr/local/php/etc路径下)
[root@001 php]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
3.复制一份启动脚本到init.d(/sapi/fpm/目录下)
[root@001 php]# cp /usr/local/src/php-5.6.31/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@001 php]# chmod 755 /etc/init.d/php-fpm
[root@001 php-5.6.31]# service php-fpm start #启动服务
4、配置nginx支持php
[root@001 php]# vim /usr/local/nginx/conf/nginx.conf
1)顶部行改成 user nginx nginx;
2)将
location / {
root html;
index index.html index.htm
}
改为:
location / {
root html;
index index.php index.html index.htm;
}
3)取消location ~ \.php$ { 一段的注释,如下:
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
改为:
location ~ .*\.(php|php5)?$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
这是php-fpm采用tcp通信时的配置,若其采用unix socket通信,则fastcgi_pass一行需该为:fastcgi_pass unix:/dev/shm/php-fpm.sock;
[root@001 php]# chown -R nginx.nginx /usr/local/nginx/html/
[root@001 php]# echo "" >> /usr/local/nginx/html/index.php && rm -rf /usr/local/nginx/html/index.html
[root@001 php]# service php-fpm restart
[root@001 php]# service nginx restart
5、配置php支持mysql
到了这一步,php已经支持mysqli及pdo_mysql了(由于mysql_connect等函数已经废弃,所以在编译php时没有--with-mysql)。但是用mysqli_connect连接本机时,只能使用'127.0.0.1',而不能使用'localhost'来连接,原因是:mysql通过tcp连接到127.0.0.1,通过unix socket连接到localhost。只要在php.ini设置mysqli和pdo_mysql的default_socket为/tmp/mysql.sock(根据自己实际情况修改),如果在编译php时带上--with-mysql-sock=/var/lib/mysql/mysql.sock选项就不用配置php.ini中的default_socket了。
[root@001 html]# cd /usr/local/php/lib/
[root@001 lib]# vim php.ini
找到: pdo_mysql.default_socket= 改成 pdo_mysql.default_socket=/tmp/mysql.sock
找到: mysqli.default_socket = 改成 mysqli.default_socket = /tmp/mysql.sock
#根据自己实际情况修改
6、测试对mysqli及pdo_mysql的支持
1.新建mysql.php文件
[root@001 lib]# echo "" > /usr/local/nginx/html/mysql.php
2.新建mysql.php文件测试pdo_mysql:
[root@001 lib]# echo "" > /usr/local/nginx/html/mysql.php
上面的root和111111为mysql账号和密码。正常时,显示内容分别含"object(mysqli)"和"object(PDO)"。
[root@001 html]# chkconfig php-fpm on
[root@001 html]# chkconfig mysqld on
[root@001 html]# chkconfig nginx on
==========以上LNMP环境搭建成功!!==========
五、wordpress博客搭建
WordPress是一个注重美学、易用性和网络标准的个人信息发布平台。WordPress虽为免费的开源软件,但其价值无法用金钱来衡量。
WordPress的图形设计在性能上易于操作、易于浏览;在外观上优雅大方、风格清新、色彩诱人。
使用WordPress可以搭建功能强大的网络信息发布平台,但更多的是应用于个性化的博客。针对博客的应用,WordPress能让您省却对后台技术的担心,集中精力做好网站的内容。
若您需要帮助,可以浏览我们的中文文档、在中文论坛发帖,或者通过联系表单联系我们。祝您使用愉快!
官网:https://cn.wordpress.org/中文文档:https://codex.wordpress.org/zh-cn:Main_Page
安装前准备
1.下载 wordpress
[root@001 html]# wget https://cn.wordpress.org/wordpress-4.8.1-zh_CN.tar.gz
[root@001 html]# tar xf wordpress-4.8.1-zh_CN.tar.gz #解压到网站的根目录
[root@001 html]# cd /usr/local/nginx/html/wordpress
[root@001 wordpress]# mv * ../ && cd .. && rm -rf wordpress wordpress-4.8.1-zh_CN.tar.gz
2.新建数据库创建用户
[root@001 html]# mysql -uroot -p123456
mysql> create database wordpress;
mysql> grant all on wordpress.* to wordpress@'localhost' identified by '123456'; #新建用户
mysql> flush privileges ;
3.使用浏览器登陆 192.168.1.222
---最后修改相应的权限
[root@001 html]# chown -R root.root ./
[root@001 html]# find ./ -type f |xargs chmod 644
[root@001 html]# find ./ -type d |xargs chmod 755
[root@001 html]# chown -R nginx.nginx /usr/local/nginx/html/wp-content/uploads #网站上传目录权限,没有则创建
[root@001 html]# find ./ -type f -name "*.php"|xargs chown -R root.root #这个很重要,修改所有php文件属主为root 避免网站php程序遭到篡改
---两步骤设置wordpress伪静态
1.登陆网站后台设置
常用的写法有:
自动获取文章id为链接的格式
样式:http://www.suxing.me/123.html
写法:/%post_id%.html
样式:http://www.suxing.me/category/123.html
写法:/%category%/%post_id%.html
手动添加文章的链接
以下方式则需要作者花点心思,常用该文章标题的英文或者拼音字母。
样式:http://www.suxing.me/post-name.html
写法:/%postname%.html
样式:http://www.suxing.me/category/post-name.html
写法: /%category%/%postname%.html
固定链接设置参数说明:
1. %year% 基于文章发布年份,比如2007;
2. %monthnum% 基于文章发布月份,比如05;
3. %day% 基于文章发布当日,比如28;
4. %hour% 基于文章发布小时数,比如15;
5. %minute% 基于文章发布分钟数,比如43
6. %second% 基于文章发布秒数,比如33
7. %postname% 基于文章的postname,其值为撰写时指定的缩略名,不指定缩略名时是文章标题;
8. %post_id% 基于文章post_id,比如423;
9. %category% 基于文章分类,子分类会处理成"分类/子分类"这种形式;
10. %author% 基于文章作者名。
将上述参数进行组合,即可得到wordpress的固定链接形式。网上常见的几种设置方法:
/%year%/%monthnum%/%day%/%postname%/
/%year%/%monthnum%/%postname%/
/%year%/%monthnum%/%day%/%postname%.html
/%year%/%monthnum%/%postname%.html
/%category%/%postname%.html
/%category%/%post_id%
/%postname%.html
/%post_id%.html 我们一般使用这个方式比较好。
2.在Nginx中的server模块配置如下内容:
[root@001 ~]# vim /usr/local/nginx/conf/nginx.conf
location / {
root html;
index index.php index.html index.htm;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
} #黄色部分为添加内容
[root@001 ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful #检查语法是否错误
[root@001 ~]# /usr/local/nginx/sbin/nginx -s reload
进入mysql 可以查看到原始的地址
mysql> use wordpress;
Database changed
mysql> select * from wp_options\G
附:1.编译参数详解 2.php配置文件详解
1.编译参数详解
1.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 //指定php.ini位置 --with-MySQL=/usr/local/mysql //mysql安装目录,对mysql的支持 --with-mysqli=/usr/local/mysql/bin/mysql_config //mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务, //而且还可以使访问数据库工作变得更加稳定。 --enable-safe-mode //打开安全模式 --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-bcmath //打开图片大小调整,用到zabbix监控的时候用到了这个模块 --enable-sockets //打开 sockets 支持 --enable-exif //图片的元数据支持 --enable-magic-quotes //魔术引用的支持 --disable-rpath //关闭额外的运行库文件 --disable-debug //关闭调试模式 --with-mime-magic=/usr/share/file/magic.mime //魔术头文件位置
- 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
注意事项
- 指定了--with-apxs2=/usr/local/apache/bin/apxs以后,就不要再激活--enable-fpm和--enable-fastCGI,apxs是以php module的模式加载PHP的。
- Mysql在编译了Mysql开发library以后,可以不用指定mysql的路径。
- PHP编译存在基础的依赖的关系,编译PHP首先需要安装XML扩展,因为php5核心默认打开了XML的支持,其他的基础库,相应需要:GD -> zlib, Png, Jpg, 如果需要支持其他,仍需要根据实际情况编译扩展库,ttf库需要freetype库的支持。
- --enable-magic-quotes,是一个极其不推荐的参数,当然,如果你需要PHP为你做这些底下的工作,实际上他也没有很彻底的解决问题。
- --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集合各种扩展,适应各种环境,这会让把你自己逼进窘境的。
-
需要单独安装的扩展
- gd库。
- ming的扩展。
- mhash和mcrypt的扩展。
详细选项上,除了上述的安装简介外,也可以在编译时加入其它的选项。
apache 模块
语法: --with-apache=DIR
说明: 用本选项可以让 PHP 以apache的模块方式使用,DIR 的字符串可以是 /usr/local/apache 或其它安装apache的目录
范例: --with-apache=/var/lib/apache
fhttpd 服务器模块
语法: --with-fhttpd=DIR
说明: 若使用 fttpd 服务器,可以使用本指令编译 PHP。用模块的方式配合 fttpd 服务器,可以有较好的效率。
Adabas D 数据库
语法: --with-adabas=DIR
说明: 数据库系统为 Adabas D 数据库时需要加本选项。关于 Adabas D 数据库的细节,可以参考 http://www.adabas.com。
范例: --with-adabas=/usr/local/adabasd
dBase 资料表
语法: --with-dbase
说明: 只要加本选项,不用其它的参数或函数库,PHP 就会让系统有存取 dBase 资料表的功能。
filePro 数据库
语法: --with-filepro
说明: 不用指定数据库路径及其它函数库等,可以读取 filePro 数据库 (唯读)。
mSQL 数据库
语法: --with-msql=DIR
说明: 提供存取 mSQL 数据库。更多的细节请参考 mSQL 的网站 http://www.hughes.com.au。
范例: --with-msql=/usr/local/Hughes
MySQL 数据库
语法: --with-mysql=DIR
说明: 提供存取 MySQL 数据库。更多的细节请参考 MySQL 的网站 http://www.tcx.se。
范例: --with-mysql=/usr/local/mysql
iODBC 数据库装置
语法: --with-iodbc=DIR
说明: 提供 ODBC 数据库装置,用来存取后端数据库。更多的细节请参考 iODBC 的网站 http://www.iodbc.org。
范例: --with-iodbc=/usr/local/iodbc
OpenLink ODBC 数据库装置
语法: --with-openlink=DIR
说明: 使用 OpenLink ODBC 数据库装置,用来存取后端数据库。更多的细节请参考 OpenLink ODBC 的网站 http://www.openlinksw.com。
范例: --with-openlink=/usr/local/openlink
Oracle 数据库
语法: --with-oracle=DIR
说明: 使用 Oracle 数据库。Oracle 的版本要在 7.3 版以上。您也可以在 PHP 程序中使用环境变量 ORACLE_HOME 来指定 Oracle 的路径。更多有关 Oracle 的信息请参考 Oracle 的网站 http://www.oracle.com。
范例: --with-oracle=/export/app/oracle/product/7.3.2
PostgreSQL 数据库
语法: --with-pgsql=DIR
说明: 使用 PostgreSQL 数据库。更多有关 PostgreSQL 的信息请参考 PostgreSQL 的网站 http://www.postgreSQL.org 或台湾的 Mirror 站 http://postgresql.ccit.edu.tw。
范例: --with-pgsql=/usr/local/pgsql
Solid 数据库
语法: --with-solid=DIR
说明: 使用 Solid 数据库。更多有关 Solid 的信息请参考 Solid 的网站 http://www.solidtech.com。
范例: --with-solid=/usr/local/solid
Sybase 数据库
语法: --with-sybase=DIR
说明: 使用 Sybase 数据库。更多有关 Sybase 的信息请参考 Sybase 的网站 http://www.sybase.com。
范例: --with-sybase=/home/sybase
Sybase-CT 数据库
语法: --with-sybase-ct=DIR
说明: 使用 Sybase-CT 数据库。
范例: --with-sybase-ct=/home/sybase
Velocis 数据库
语法: --with-velocis=DIR
说明: 使用 Velocis 数据库。有关 Velocis 数据库的进一步资料请参考 Raima 公司的网站 http://www.raima.com。
范例: --with-velocis=/usr/local/velocis
自订 ODBC 数据库驱动程序
语法: --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-custom-odbc=/usr/local/odbc
不使用 ODBC 数据库驱动程序
语法: --disable-unified-odbc
说明: 使用本选项将使所有的 ODBC 数据库驱动程序不作用。本选项不用指定路径,而受本选项影响的选项有 --with-iodbc、--with-solid、--with-adabas、--with-velocis 及 --with-custom-odbc。
LDAP 目录协议
语法: --with-ldap=DIR
说明: 若要使用目录协议 (Lightweight Directory Access Protocol, LDAP) 则必须要打开本选项。有关 LDAP 的细节,可以参考 RFC 文件的 RFC1777 及 RFC1778。
范例: --with-ldap=/usr/local/ldap.
mcrypt 编码函数库
语法: --with-mcrypt=DIR
说明: 当安装了 mcrypt 函数库后,可在编译 PHP 时加入本选项,让程序可以使用编解码功能。
范例: --with-mcrypt=/usr/local/include
Sys V 信号
语法: --enable-sysvsem
说明: 要使用 SysV 的信号 (semaphores) 机制,则要打开本选项。
XML 支持
语法: --with-xml
说明: 打开本选项可以支持 James Clark's 写的 XML 解析程序库。
维护模式
语法: --enable-maintainer-mode
说明: 本选项一般不会打开,除非是 PHP 开发人员比较有用。
正则表达式程序库
语法: --with-system-regex
说明: 若您需要额外的正则表达式功能,可以加入本选项。
PHP 配置文件
语法: --with-config-file-path=DIR
说明: 用来指定 php3.ini 或 php4.ini 的路径,供 PHP 初始化时使用。
范例: --with-config-file-path=/usr/local/lib
PHP 执行路径
语法: --with-exec-dir=DIR
说明: 有时为了系统的安全性考虑,会指定 PHP 程序一定要在哪个目录执行。
范例: --with-exec-dir=/usr/local/bin
调试模式
语法: --enable-debug
说明: 本选项一般不会使用,除非在开发 PHP 程序时比较有用。它可以显示额外的错误信息。
安全模式
语法: --enable-safe-mode
说明: 默认值是打开的,可以对系统安全提供比较多的保护。
变量追踪
语法: --enable-track-vars
说明: 让 PHP 能追踪 HTTP_GET_VARS、HTTP_POST_VARS 及 HTTP_COOKIE_VARS 三个变量,一般是打开的。
自动加引入字符
语法: --enable-magic-quotes
说明: 可让程序在执行时自动加入反斜线的引入字符。
打开调试器
语法: --enable-debugger
说明: 打开内建的 PHP 调试器。目前本功能还在实验阶段,尚未成熟。
取消路径 (discard path)
语法: --enable-discard-path
说明: 打开这个选项,用户就不能透过浏览器读取 .htaccess 等和系统安全相关的文件。
高精确度数学函数
语法: --enable-bcmath
说明: 打开高精确度函数。必须要先安装本函数库,本选项方有效。
强制 CGI 重定向
语法: --enable-force-cgi-redirect
范例: 若使用 CGI VERSION 模式来执行 PHP 的设,打开本选项会增加安全性。例如用户读 http://my.host/cgi-bin/php/secret/doc.html 遇到比较了解 PHP 系统的黑客级用户可能会自已输入以下网址 http://my.host/secret/doc.html 来读取相关信息。若 PHP 和 Apache 编译在一起,让 PHP 变成 Apache 的一部份,则不需要加入本选项。
不使用短的标记
语法: --disable-short-tags
说明: 配置本选项后,PHP 的程序就不能使用短的标记,一定要用的长标记。
引入远端档宁
语法: --enable-url-includes
说明: 配置本选项可让 PHP 程序可以引入 (include) 远端的 HTTP 或 FTP 服务器中的文件。
关闭语法效果
语法: --disable-syntax-hl
说明: 使用本选项会关闭 PHP 语法的彩色效果。
函数库路径
语法: CPPFLAGS=-IDIR 及 LDFLAGS=-LDIR
说明: 若 PHP 在安全或编译所需的函数库在值得的路径,需要加入本选项,LDFLAGS 表示函数库的路径,CPPFLAGS 表示标头文件的路径。
范例: LDFLAGS=-L/my/lib/dir CPPFLAGS=-I/my/include/dir ./configure
配置项代码
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-mysqlnd --enable-opcache --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-shmop --enable-zip --enable-ftp --enable-soap --enable-xml --enable-mbstring --disable-rpath --disable-debug --disable-fileinfo --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pcre-regex --with-iconv --with-zlib --with-gd --with-openssl --with-xmlrpc --with-curl --with-imap-ssl --with-freetype-dir --enable-fpm --enable-pcntl --with-mcrypt --with-mhash
配置详解转自:洞房花猪
链接:http://www.jianshu.com/p/0a79847c8151
PHP配置参数详解:
[PHP]
; PHP还是一个不断发展的工具,其功能还在不断地删减
; 而php.ini的设置更改可以反映出相当的变化,
; 在使用新的PHP版本前,研究一下php.ini会有好处的
;;;;;;;;;;;;;;;;;;;
; 关于这个文件 ;
;;;;;;;;;;;;;;;;;;;
; 这个文件控制了PHP许多方面的观点。为了让PHP读取这个文件,它必须被命名为
; 'php.ini'。PHP 将在这些地方依次查找该文件:当前工作目录;环境变量PHPRC
; 指明的路径;编译时指定的路径。
; 在windows下,编译时的路径是Windows安装目录。
; 在命令行模式下,php.ini的查找路径可以用 -c 参数替代。
; 该文件的语法非常简单。空白字符和用分号';'开始的行被简单地忽略(就象你可能
; 猜到的一样)。章节标题(例如 : [Foo])也被简单地忽略,即使将来它们可能
; 有某种的意义。
; 指示被指定使用如下语法:
; 指示标识符 = 值
; directive = value
; 指示标识符是 *大小写敏感的* - foo=bar 不同于 FOO = bar。
; 值可以是一个字符串,一个数字,一个 PHP 常量 (如: E_ALL or M_PI), INI 常量中的
; 一个 (On, Off, True, False, Yes, No and None) ,或是一个表达式
; (如: E_ALL & ~E_NOTICE), 或是用引号括起来的字符串(" foo" ).
; INI 文件的表达式被限制于位运算符和括号。
; | bitwise OR
; & bitwise AND
; ~ bitwise NOT
; ! boolean NOT
; 布尔标志可用 1, On, True or Yes 这些值置于开的状态。
; 它们可用 0, Off, False or No 这些值置于关的状态。
; 一个空字符串可以用在等号后不写任何东西表示,或者用 None 关键字:
; foo = ; 将foo置为空字符串
; foo = none ; 将foo置为空字符串
; foo = " none" ; 将foo置为字符串'none'
; 如果你值设置中使用常量,而这些常量属于动态调入的扩展库(不是 PHP 的扩展,就是
; Zend 的扩展),你仅可以调入这些扩展的行*之后*使用这些常量。
; 所有在 php.ini-dist 文件里设定的值与内建的默认值相同(这是说,如果 php.ini
; 没被使用或者你删掉了这些行,默认值与之相同)。
; 语言选项 ;
;;;;;;;;;;;;;;;;;;;;
engine = On
; 使 PHP scripting language engine(PHP 脚本语言引擎)在 Apache下有效。
short_open_tag = On
; 允许 tags 将被识别。
asp_tags = Off
; 允许ASP-style tags
precision = 14
; 浮点类型数显示时的有效位数
y2k_compliance = Off
; 是否打开 2000年适应 (可能在非Y2K适应的浏览器中导致问题)
output_buffering = Off
; 输出缓存允许你甚至在输出正文内容之后发送 header(标头,包括cookies)行
; 其代价是输出层减慢一点点速度。你可以使用输出缓存在运行时打开输出缓存,
; 或者在这里将指示设为 On 而使得所有文件的输出缓存打开。
output_handler = ; 你可以重定向你的脚本的所有输出到一个函数,
; 那样做可能对处理或以日志记录它有用。
; 例如若你将这个output_handler 设为" ob_gzhandler" ,
; 则输出会被透明地为支持gzip或deflate编码的浏览器压缩。
; 设一个输出处理器自动地打开输出缓冲。
implicit_flush = Off
; 强制flush(刷新)让PHP 告诉输出层在每个输出块之后自动刷新自身数据。
; 这等效于在每个 print() 或 echo() 调用和每个 HTML 块后调用flush()函数。
; 打开这项设置会导致严重的运行时冲突,建议仅在debug过程中打开。
allow_call_time_pass_reference = On
; 是否让强迫函数调用时按引用传递参数。这一方法遭到抗议,
; 并可能在将来版本的PHP/Zend里不再支持。
; 受到鼓励的指定哪些参数按引用传递的方法是在函数声明里。
; 你被鼓励尝试关闭这一选项并确认你的脚本仍能正常工作,以保证在将来版本的语言里
; 它们仍能工作。(你将在每次使用该特点时得到一个警告,而参数将按值而不是按引用
; 传递)。
; Safe Mode 安全模式
safe_mode = Off
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
; ?Setting certain environment variables
; ?may be a potential security breach.
; 该指示包含用逗号分隔的前缀列表。安全模式中,用户仅可以替换
; 以在此列出的前缀开头的环境变量的值。
; 默认地,用户将仅能设定以PHP_开头的环境变量,(如: PHP_FOO=BAR)。
; 注意: 如果这一指示为空,PHP 将让用户更改任意环境变量!
safe_mode_protected_env_vars = LD_LIBRARY_PATH
; 这条指示包含一个用逗号分隔的环境变量列表,那是最终用户将不能用putenv () 更改的。
; 这些变量甚至在safe_mode_allowed_env_vars 设置为允许的情况下得到保护。
disable_functions =
; 这条指示让你可以为了安全的原因让特定函数失效。
; 它接受一个用逗号分隔的函数名列表。
; 这条指示 *不受* 安全模式是否打开的影响。
; 语法高亮模式的色彩。
; 只要能被接受的东西就能工作。
highlight.string = #DD0000
highlight.comment = #FF8000
highlight.keyword = #007700
highlight.bg = #FFFFFF
highlight.default = #0000BB
highlight.html = #000000
; Misc 杂项
expose_php = Off
; 决定 PHP 是否标示它装在服务器上的事实(例如:加在它 — PHP— 给Web服务
; 发送的信号上)。
; (我个人的意见,在出现什么power-by的header的时候,把这关掉。)
; 它不会有安全上的威胁, 但它使检查你的服务器上是否安装了PHP成为了可能。
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 30 ; 每个脚本的最大执行时间, 按秒计
memory_limit = 8388608 ; 一个脚本最大可使用的内存总量 (这里是8MB)
; Error handling and logging ;
; 出错控制和登记 ;
; 错误报告是按位的。或者将数字加起来得到想要的错误报告等级。
; E_ALL - 所有的错误和警告
; E_ERROR - 致命性运行时错
; E_WARNING - 运行时警告(非致命性错)
; E_PARSE - 编译时解析错误
; E_NOTICE - 运行时提醒(这些经常是是你的代码的bug引起的,
;也可能是有意的行为造成的。(如:基于未初始化的变量自动初始化为一个
;空字符串的事实而使用一个未初始化的变量)
; E_CORE_ERROR - 发生于PHP启动时初始化过程中的致命错误
; E_CORE_WARNING - 发生于PHP启动时初始化过程中的警告(非致命性错)
; E_COMPILE_ERROR - 编译时致命性错
; E_COMPILE_WARNING - 编译时警告(非致命性错)
; E_USER_ERROR - 用户产生的出错消息
; E_USER_WARNING - 用户产生的警告消息
; E_USER_NOTICE - 用户产生的提醒消息
; 例子:
; error_reporting = E_ALL & ~E_NOTICE ; 显示所有的错误,除了提醒
; error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; 仅显示错误
error_reporting = E_ALL & ~E_NOTICE ; 显示所有的错误,除了提醒
display_errors = On ; 显示出错误信息(作为输出的一部分)
; 在最终发布的web站点上,强烈建议你关掉这个特性,并使用
; 错误日志代替(参看下面)。
; 在最终发布的web站点继续让 display_errors 有效可能
; 暴露一些有关安全的信息,例如你的web服务上的文件路径、
; 你的数据库规划或别的信息。
display_startup_errors = Off ; 甚至当display_erroes打开了,发生于PHP的启动的步骤中
; 的错误也不会被显示。
; 强烈建议保持使 display_startup_errors 关闭,
; 除了在改错过程中。
log_errors = Off ; 在日志文件里记录错误(服务器指定的日志,stderr标准错误输出,或error_log(下面的))
; 正如上面说明的那样,强烈建议你在最终发布的web站点以日志记录错误
; 取代直接错误输出。
track_errors = Off ; 保存最近一个错误/警告消息于变量 $php_errormsg (boolean)
;error_prepend_string = " " ; 于错误信息前输出的字符串
;error_append_string = " " ; 于错误信息后输出的字符串
;error_log = filename ; 记录错误日志于指定文件
;error_log = syslog ; 记录错误日志于系统日志 syslog (NT 下的事件日志, Windows 95下无效)
warn_plus_overloading = Off ; 当将' +' 用于字符串时警告
; Data Handling ;
variables_order = " EGPCS" ; 这条指示描述了PHP 记录
; GET, POST, Cookie, Environment and Built-in 这些变量的顺序。
; (以 G, P, C, E & S 代表,通常以 EGPCS 或 GPC 的方式引用)。
; 按从左到右记录,新值取代旧值。
register_globals = On ; 是否将这些 EGPCS 变量注册为全局变量。
; 若你不想让用户数据不在全局范围内混乱的话,你可能想关闭它。
; 这和 track_vars 连起来用更有意义 — 这样你可以通过
; $HTTP_*_VARS[] 数组访问所有的GPC变量。
register_argc_argv = On ; 这条指示告诉 PHP 是否声明 argv和argc 变量
; (注:这里argv为数组,argc为变量数)
; (其中包含用GET方法传来的数据)。
; 若你不想用这些变量,你应当关掉它以提高性能。
track_vars = On ; 使$HTTP_*_VARS[]数组有效,这里*在使用时用
; ENV, POST, GET, COOKIE or SERVER替换
post_max_size = 8M ; PHP将接受的POST数据最大大小。
gpc_order = " GPC" ; 这条指示被人反对。用 variables_order 代替。
; Magic quotes
magic_quotes_gpc = On ; 在输入的GET/POST/Cookie数据里使用魔术引用
; (原文就这样,呵呵,所谓magic quotes 应该是指用转义符加在引用性的控制字符上,如 '....)
magic_quotes_runtime= Off ; 对运行时产生的数据使用魔术引用,
; 例如:用SQL查询得到的数据,用exec()函数得到的数据,等等
magic_quotes_sybase = Off ; 采用 Sybase形式的魔术引用(用 '' 脱出 ' 而不用 ')
; 自动在 PHP 文档之前和之后添加文件
auto_prepend_file =
auto_append_file =
; 象4.04b4一样,PHP 默认地总是在 " Content-type:" 头标输出一个字符的编码方式。
; 让输出字符集失效,只要设置为空。
; PHP 的内建默认值是 text/html
default_mimetype = " text/html"
;default_charset = " iso-8859-1"
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
include_path = ; include 路径设置,UNIX: " /path1:/path2" Windows: " \path1;\path2"
doc_root = ; php 页面的根路径,仅在非空时有效
user_dir = ; 告知 php 在使用 /~username 打开脚本时到哪个目录下去找,仅在非空时有效
;upload_tmp_dir = ; 存放用HTTP协议上载的文件的临时目录(在没指定时使用系统默认的)
upload_max_filesize = 2097152 ; 文件上载默认地限制为2 Meg
extension_dir = c:\php\ ; 存放可加载的扩充库(模块)的目录
enable_dl = On ; 是否使dl()有效。
; 在多线程的服务器上 dl()函数*不能*很好地工作,
; 例如IIS or Zeus,并在其上默认为禁止
; File Uploads ;
file_uploads = On ; 是否允许HTTP方式文件上载
;upload_tmp_dir = ; 用于HTTP上载的文件的临时目录(未指定则使用系统默认)
upload_max_filesize = 2M ; 上载文件的最大许可大小
; Fopen wrappers ;
allow_url_fopen = On ; 是否允许把URLs当作http:.. 或把文件当作ftp:...
; 动态扩展 ;
; Dynamic Extensions ;
; 若你希望一个扩展库自动加载,用下面的语法:
; extension=modulename.extension
; 例如,在windows上,
; extension=msql.dll
; or 在UNIX下,
; extension=msql.so
; 注意,这只应当是模块的名字,不需要目录信息放在里面。
; 用上面的 extension_dir 指示指定扩展库的位置。
;Windows 扩展
;extension=php_nsmail.dll
extension=php_calendar.dll
;extension=php_dbase.dll
;extension=php_filepro.dll
extension=php_gd.dll
;extension=php_dbm.dll
;extension=php_mssql.dll
;extension=php_zlib.dll
;extension=php_filepro.dll
;extension=php_imap4r2.dll
;extension=php_ldap.dll
;extension=php_crypt.dll
;extension=php_msql2.dll
;extension=php_odbc.dll
; 注意, MySQL的支持现在是内建的,因此,不需要用它的dll
; 模块设定 ;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
[Syslog]
define_syslog_variables = Off ; 是否定义各种的系统日志变量
; 如:$LOG_PID, $LOG_CRON, 等等。
; 关掉它是个提高效率的好主意。
; 运行时,你可以调用函数define_syslog_variables(),来定义这些变量
[mail function]
SMTP = localhost ;仅用于win32系统
sendmail_from = [email protected] ;仅用于win32系统
;sendmail_path = ;仅用于unix, 也可支持参数(默认的是'sendmail -t -i')
[Debugger]
debugger.host = localhost
debugger.port = 7869
debugger.enabled = False
[Logging]
; 这些配置指示用于示例的日志记录机制。
; 看 examples/README.logging 以得到更多的解释
;logging.method = db
;logging.directory = /path/to/log/directory
[Java]
;java.class.path = .\php_java.jar
;java.home = c:\jdk
;java.library = c:\jdk\jre\bin\hotspot\jvm.dll
;java.library.path = .\
[SQL]
sql.safe_mode = Off
[ODBC]
;uodbc.default_db = Not yet implemented
;uodbc.default_user = Not yet implemented
;uodbc.default_pw = Not yet implemented
uodbc.allow_persistent = On ; 允许或禁止持久连接
uodbc.check_persistent = On ; 在重用前检查连接是否还可用
uodbc.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制
uodbc.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制
uodbc.defaultlrl = 4096 ; 控制 LONG 类型的字段。返回变量的字节数,0 代表通过(?)0 means passthru
uodbc.defaultbinmode = 1 ; 控制二进制数据。0 代表?????Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char
; 见有关 odbc_binmode 和 odbc_longreadlen 的文档以得到 uodbc.defaultlrl 和 uodbc.defaultbinmode 的解释。
[MySQL]
mysql.allow_persistent = On ; 允许或禁止持久连接
mysql.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制
mysql.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制
mysql.default_port = ; mysql_connect() 使用的默认端口,如不设置,mysql_connect()
; 将使用变量 $MYSQL_TCP_PORT,或在/etc/services 下的mysql-tcp 条目(unix),
; 或在编译是定义的 MYSQL_PORT(按这样的顺序)
; Win32环境,将仅检查MYSQL_PORT。
mysql.default_socket = ; 用于本地 MySql 连接的默认的套接字名。为空,使用 MYSQL 内建值
mysql.default_host = ; mysql_connect() 默认使用的主机(安全模式下无效)
mysql.default_user = ; mysql_connect() 默认使用的用户名(安全模式下无效)
mysql.default_password = ; mysql_connect() 默认使用的密码(安全模式下无效)
; 注意,在这个文件下保存密码通常是一个*坏*主意
; *任何*可以使用PHP访问的用户可以运行
; 'echo cfg_get_var(" mysql.default_password" )'来显示那个密码!
; 而且当然地,任何有读该文件权力的用户也能看到那个密码。
[mSQL]
msql.allow_persistent = On ; 允许或禁止持久连接
msql.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制
msql.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制
[PostgresSQL]
pgsql.allow_persistent = On ; 允许或禁止持久连接
pgsql.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制
pgsql.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制
[Sybase]
sybase.allow_persistent = On ; 允许或禁止持久连接
sybase.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制
sybase.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制
;sybase.interface_file = " /usr/sybase/interfaces"
sybase.min_error_severity = 10 ; 显示的错误的最低严重性
sybase.min_message_severity = 10 ; 显示的消息的最低重要性
sybase.compatability_mode = Off ; 与旧版的PHP 3.0 兼容的模式。若打开,这将导致 PHP 自动地
; 把根据结果的 Sybase 类型赋予它们,
; 而不是把它们全当成字符串。
; 这个兼容模式不会永远留着,
; 因此,将你的代码进行需要的修改,
; 并将该项关闭。
[Sybase-CT]
sybct.allow_persistent = On ; 允许或禁止持久连接
sybct.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制
sybct.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制
sybct.min_server_severity = 10 ; 显示的错误的最低严重性
sybct.min_client_severity = 10 ; 显示的消息的最低重要性
[bcmath]
bcmath.scale = 0 ; 用于所有bcmath函数的10十进制数数字的个数number of decimal digits for all bcmath functions
[browscap]
;browscap = extra/browscap.ini
browscap = C:\WIN\SYSTEM\inetsrv\browscap.ini
[Informix]
ifx.default_host = ; ifx_connect() 默认使用的主机(安全模式下无效)
ifx.default_user = ; ifx_connect() 默认使用的用户名(安全模式下无效)
ifx.default_password = ; ifx_connect() 默认使用的密码(安全模式下无效)
ifx.allow_persistent = On ; 允许或禁止持久连接
ifx.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制
ifx.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制
ifx.textasvarchar = 0 ; 若打开,select 状态符返回一个 ' text blob' 字段的内容,而不是它的id
ifx.byteasvarchar = 0 ; 若打开,select 状态符返回一个 ' byte blob' 字段的内容,而不是它的id
ifx.charasvarchar = 0 ; 追踪从固定长度的字符列里剥离的空格。
; 可能对 Informix SE 用户有效。
ifx.blobinfile = 0 ; 若打开,text和byte blobs 的内容被导出到一个文件
; 而不是保存到内存。
ifx.nullformat = 0 ; NULL(空)被作为空字段返回,除非,这里被设为1。
; 这种情况下(为1),NULL作为字串NULL返回。
[Session]
session.save_handler = files ; 用于保存/取回数据的控制方式
session.save_path = C:\win\temp ; 在 save_handler 设为文件时传给控制器的参数,
; 这是数据文件将保存的路径。
session.use_cookies = 1 ; 是否使用cookies
session.name = PHPSESSID
; 用在cookie里的session的名字
session.auto_start = 0 ; 在请求启动时初始化session
session.cookie_lifetime = 0 ; 为按秒记的cookie的保存时间,
; 或为0时,直到浏览器被重启
session.cookie_path = / ; cookie的有效路径
session.cookie_domain = ; cookie的有效域
session.serialize_handler = php ; 用于连接数据的控制器
; php是 PHP 的标准控制器。
session.gc_probability = 1 ; 按百分比的'garbage collection(碎片整理)'进程
; 在每次 session 初始化的时候开始的可能性。
session.gc_maxlifetime = 1440 ; 在这里数字所指的秒数后,保存的数据将被视为
; '碎片(garbage)'并由gc 进程清理掉。
session.referer_check = ; 检查 HTTP引用以使额外包含于URLs中的ids无效
session.entropy_length = 0 ; 从文件中读取多少字节
session.entropy_file = ; 指定这里建立 session id
; session.entropy_length = 16
; session.entropy_file = /dev/urandom
session.cache_limiter = nocache ; 设为{nocache,private,public},以决定 HTTP 的
; 缓存问题
session.cache_expire = 180 ; 文档在 n 分钟后过时
session.use_trans_sid = 1 ; 使用过渡性的 sid 支持,若编译时许可了
; --enable-trans-sid
url_rewriter.tags = " a=href,area=href,frame=src,input=src,form=fakeentry"
[MSSQL]
;extension=php_mssql.dll
mssql.allow_persistent = On ; 允许或禁止持久连接
mssql.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制
mssql.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制
mssql.min_error_severity = 10 ; 显示的错误的最低严重性
mssql.min_message_severity = 10 ; 显示的消息的最低重要性
mssql.compatability_mode = Off ; 与旧版的PHP 3.0 兼容的模式。
[Assertion]
; ?????
;assert.active = On ; ?assert(expr); active by default
;assert.warning = On ; issue a PHP warning for each failed assertion.
;assert.bail = Off ; don't bail out by default.
;assert.callback = 0 ; user-function to be called if an assertion fails.
;assert.quiet_eval = 0 ; eval the expression with current error_reporting(). set to true if you want error_reporting(0) around the eval().
[Ingres II]
ii.allow_persistent = On ; 允许或禁止持久连接
ii.max_persistent = -1 ; 持久连接的最大数。-1 代表无限制
ii.max_links = -1 ; 连接的最大数目(持久和非持久)。-1 代表无限制
ii.default_database = ; 默认 database (format : [node_id::]dbname[/srv_class]
ii.default_user = ; 默认 user
ii.default_password = ; 默认 password
[Verisign Payflow Pro]
pfpro.defaulthost = " test.signio.com" ; 默认的 Signio 服务器
pfpro.defaultport = 443 ; 连接的默认端口
pfpro.defaulttimeout = 30 ; 按秒计的默认超时时间
; pfpro.proxyaddress = ; 默认的代理的 IP 地址(如果需要)
; pfpro.proxyport = ; 默认的代理的端口
; pfpro.proxylogon = ; 默认的代理的登录(logon 用户名)
; pfpro.proxypassword = ; 默认的代理的密码
[Sockets]
sockets.use_system_read = On ; 使用系统的read() 函数替代 php_read()封装
; Local Variables: (局部变量)
; tab-width: 4
; End
http://www.jb51.net/article/38632.htm