ini_setini_get 可操作配置参数列表

为了使自己的程序在不同的平台中拥有更好的兼容性,很多时候我们都要获取当前Php的运行环境参数。

 

比如我们常用到的:

 

获取 magic_quotes_gpc 状态,来决定当表单提交时我们是否转义(addslashes)数据;

设定 max_execution_time 来延长 程序的执行时间;

设定 error_reporting 使自己的项目在开发与运营阶段切换;

设定 memory_limit 加大内存等等…

 

Php代码

  1. ini_set (string varname, string newvalue ) :  //设定环境配置的参数   
  2. ini_get (string varname) :  //获取环境配置的参数   

Php代码

  1. ini_set(string varname, string newvalue ) : //设定环境配置的参数   
  2. ini_get(string varname) : //获取环境配置的参数  

ini_set(string varname, stringnewvalue ) : //设定环境配置的参数

ini_get(string varname) : //获取环境配置的参数

 

 PHP ini_set函数是设置选项中的值,在执行函数后生效,脚本结束的时候,这个设置也失效。不是所有的选项都能被改函数设置的。具体那些值能够设置,可以查看手册中的列表。

 

 就是能够设置php.ini中的选项值比如,display_error选项关闭 了,但是你要显示程序中的错误信息,方便你调试程序,那么就可以使用PHP ini_set函数:

 

Php代码

  1. ini_set ( 'display_errors' ,  'On' );  

Php代码

  1. ini_set('display_errors', 'On');  

ini_set('display_errors','On');

 

 那么在你这个页面的程序都会显示错误信息了,而且你还可以使用error_reporting来设置显示的错误信息级别。

 如果你需要增加脚本执行时间,那么可以设置:

 

 

Php代码

  1. ini_set ( 'max_execution_time' ,  '180' );  

Php代码

  1. ini_set('max_execution_time', '180');  

ini_set('max_execution_time','180');

 

  那么脚本执行时间就由默认的30秒变为180秒,当然,你也可以使用set_time_limit()来设置。

 

  其实你把PHP ini_set函数和ini_get结合使的话,非常好。比如你想在配置文件里添加自己的包含文件路径,但是你有没有权限更改php.ini,那么你可以结合两个函数:

 

 

Php代码

  1. ini_set ( 'include_path' , ini_get ( 'include_path' ). ':/your_include_dir:' );  

Php代码

  1. ini_set('include_path',ini_get('include_path').':/your_include_dir:');  

ini_set('include_path',ini_get('include_path').':/your_include_dir:');

 

 PHP配置函数ini_get()相信很多人都使过,就是获取配置文件中某一个选项的值,如果是true值就返回1,如果是false值就返回0,字符串就返回字符串。

 

  比如手册中的例子:

 

Php代码

  1. <?php   
  2. /* Our php.ini contains the following settings: display_errors = On register_globals = Off post_max_size = 8M */    
  3.   
  4. echo   'display_errors = '  .  ini_get ( 'display_errors' ) .  " " ;  //显示错误是否打开    
  5. echo   'register_globals = '  .  ini_get ( 'register_globals' ) .  " " ;  //全局变量是否打开    
  6. echo   'post_max_size = '  .  ini_get ( 'post_max_size' ) .  " " ;  //最多能提交的文件大小    
  7. echo   'post_max_size+1 = '  . ( ini_get ( 'post_max_size' )+1) .  " " ;   
  8.   
  9. ?>  

Php代码

  1. <?php    
  2. /* Our php.ini contains the following settings: display_errors = On register_globals = Off post_max_size = 8M */    
  3.   
  4. echo 'display_errors = ' . ini_get('display_errors') . " "; //显示错误是否打开    
  5. echo 'register_globals = ' . ini_get('register_globals') . " "; //全局变量是否打开    
  6. echo 'post_max_size = ' . ini_get('post_max_size') . " "; //最多能提交的文件大小    
  7. echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . " ";    
  8.   
  9. ?>  

<?php

/* Our php.ini contains thefollowing settings: display_errors = On register_globals = Off post_max_size =8M */

 

echo 'display_errors = ' .ini_get('display_errors') . " "; //显示错误是否打开

echo 'register_globals = ' .ini_get('register_globals') . " "; //全局变量是否打开

echo 'post_max_size = ' .ini_get('post_max_size') . " "; //最多能提交的文件大小

echo 'post_max_size+1 = ' .(ini_get('post_max_size')+1) . " ";

 

?>

 

  输出:

 

  display_errors = 1

  register_globals = 0

  post_max_size = 8M

  post_max_size+1 = 9

 

  PHP配置函数ini_get()主要是为了获取配置文件,可以方便你很多操作。比如你想操作字符串过滤,但是又不清楚 magic_quotes_gpc有没有打开,所以你就可以这样写一个函数:

 

 

Php代码

  1. <?php   
  2.  /* 字符串过滤函数 */    
  3. function  stringFilter( $str ) {   
  4.     if  ( ini_get ( 'magic_quotes_gpc)' ) {  return   $str ; }  else  {  return   addslashes ( $str ); }   
  5. }  
  6. ?>  

Php代码

  1. <?php    
  2.  /* 字符串过滤函数 */    
  3. function stringFilter($str) {    
  4.     if (ini_get('magic_quotes_gpc)') { return $str; } else { return addslashes($str); }    
  5. }   
  6. ?>  

<?php

 /* 字符串过滤函数 */

function stringFilter($str) {

if (ini_get('magic_quotes_gpc)') { return $str; } else { returnaddslashes($str); }

}

?>

 

  当然,如果你无法知道你的全局变量是否打开,也可以定制这样的函数:

 

Php代码

  1. <?php   
  2. /* 变量检测函数 */    
  3. function  getGetVar( $var ) {   
  4.     if  ( ini_set ( 'register_gobals' )){  return   $var ; }  else  {  return   $_GET [ 'var' ]; }   
  5. }  
  6. ?>  

Php代码

  1. <?php    
  2. /* 变量检测函数 */    
  3. function getGetVar($var) {    
  4.     if (ini_set('register_gobals')){ return $var; } else { return $_GET['var']; }    
  5. }   
  6. ?>  

<?php

/* 变量检测函数 */

function getGetVar($var) {

if (ini_set('register_gobals')){ return $var; } else { return$_GET['var']; }

}

?>

 

  当然,你可以用PHP配置函数ini_get()做很多用途,自己慢慢体会。

 

参数列表如下

 

Name

Default

Changeable

com.allow_dcom

"0"

PHP_INI_SYSTEM

com.autoregister_typelib

"0"

PHP_INI_SYSTEM

com.autoregister_verbose

"0"

PHP_INI_SYSTEM

com.autoregister_casesensitive

"1"

PHP_INI_SYSTEM

com.typelib_file

""

PHP_INI_SYSTEM

crack.default_dictionary

NULL

PHP_INI_SYSTEM

exif.encode_unicode

"ISO-8859-15"

PHP_INI_ALL

exif.decode_unicode_motorola

"UCS-2BE"

PHP_INI_ALL

exif.decode_unicode_intel

"UCS-2LE"

PHP_INI_ALL

exif.encode_jis

""

PHP_INI_ALL

exif.decode_jis_motorola

"JIS"

PHP_INI_ALL

exif.decode_jis_intel

"JIS"

PHP_INI_ALL

fbsql.allow_persistent

"1"

PHP_INI_SYSTEM

fbsql.generate_warnings

"0"

PHP_INI_SYSTEM

fbsql.autocommit

"1"

PHP_INI_SYSTEM

fbsql.max_persistent

"-1"

PHP_INI_SYSTEM

fbsql.max_links

"128"

PHP_INI_SYSTEM

fbsql.max_connections

"128"

PHP_INI_SYSTEM

fbsql.max_results

"128"

PHP_INI_SYSTEM

fbsql.batchSize

"1000"

PHP_INI_SYSTEM

fbsql.default_host

NULL

PHP_INI_SYSTEM

fbsql.default_user

"_SYSTEM"

PHP_INI_SYSTEM

fbsql.default_password

""

PHP_INI_SYSTEM

fbsql.default_database

""

PHP_INI_SYSTEM

fbsql.default_database_password

""

PHP_INI_SYSTEM

hwapi.allow_persistent

"0"

PHP_INI_SYSTEM

hyperwave.allow_persistent

"0"

PHP_INI_SYSTEM

hyperwave.default_port

"418"

PHP_INI_ALL

iconv.input_encoding

ICONV_INPUT_ENCODING

PHP_INI_ALL

iconv.output_encoding

ICONV_OUTPUT_ENCODING

PHP_INI_ALL

iconv.internal_encoding

ICONV_INTERNAL_ENCODING

PHP_INI_ALL

ifx.allow_persistent

"1"

PHP_INI_SYSTEM

ifx.max_persistent

"-1"

PHP_INI_SYSTEM

ifx.max_links

"-1"

PHP_INI_SYSTEM

ifx.default_host

NULL

PHP_INI_SYSTEM

ifx.default_user

NULL

PHP_INI_SYSTEM

ifx.default_password

NULL

PHP_INI_SYSTEM

ifx.blobinfile

"1"

PHP_INI_ALL

ifx.textasvarchar

"0"

PHP_INI_ALL

ifx.byteasvarchar

"0"

PHP_INI_ALL

ifx.charasvarchar

"0"

PHP_INI_ALL

ifx.nullformat

"0"

PHP_INI_ALL

ingres.allow_persistent

"1"

PHP_INI_SYSTEM

ingres.max_persistent

"-1"

PHP_INI_SYSTEM

ingres.max_links

"-1"

PHP_INI_SYSTEM

ingres.default_database

NULL

PHP_INI_ALL

ingres.default_user

NULL

PHP_INI_ALL

ingres.default_password

NULL

PHP_INI_ALL

ibase.allow_persistent

"1"

PHP_INI_SYSTEM

ibase.max_persistent

"-1"

PHP_INI_SYSTEM

ibase.max_links

"-1"

PHP_INI_SYSTEM

ibase.default_user

NULL

PHP_INI_ALL

ibase.default_password

NULL

PHP_INI_ALL

ibase.timestampformat

"%m/%d/%Y%H:%M:%S"

PHP_INI_ALL

ibase.dateformat

"%m/%d/%Y"

PHP_INI_ALL

ibase.timeformat

"%H:%M:%S"

PHP_INI_ALL

java.class.path

NULL

PHP_INI_ALL

java.home

NULL

PHP_INI_ALL

java.library.path

NULL

PHP_INI_ALL

java.library

JAVALIB

PHP_INI_ALL

java.library

NULL

PHP_INI_ALL

ldap.max_links

"-1"

PHP_INI_SYSTEM

mbstring.detect_order

NULL

PHP_INI_ALL

mbstring.http_input

NULL

PHP_INI_ALL

mbstring.http_output

NULL

PHP_INI_ALL

mbstring.internal_encoding

NULL

PHP_INI_ALL

mbstring.substitute_character

NULL

PHP_INI_ALL

mbstring.func_overload

"0"

PHP_INI_SYSTEM

mcrypt.algorithms_dir

NULL

PHP_INI_ALL

mcrypt.modes_dir

NULL

PHP_INI_ALL

mime_magic.magicfile

"/usr/share/misc/magic.mime"

PHP_INI_SYSTEM

mssql.allow_persistent

"1"

PHP_INI_SYSTEM

mssql.max_persistent

"-1"

PHP_INI_SYSTEM

mssql.max_links

"-1"

PHP_INI_SYSTEM

mssql.max_procs

"25"

PHP_INI_ALL

mssql.min_error_severity

"10"

PHP_INI_ALL

mssql.min_message_severity

"10"

PHP_INI_ALL

mssql.compatability_mode

"0"

PHP_INI_ALL

mssql.connect_timeout

"5"

PHP_INI_ALL

mssql.timeout

"60"

PHP_INI_ALL

mssql.textsize

"-1"

PHP_INI_ALL

mssql.textlimit

"-1"

PHP_INI_ALL

mssql.batchsize

"0"

PHP_INI_ALL

mssql.datetimeconvert

"1"

PHP_INI_ALL

mssql.secure_connection

"0"

PHP_INI_SYSTEM

mysql.allow_persistent

"1"

PHP_INI_SYSTEM

mysql.max_persistent

"-1"

PHP_INI_SYSTEM

mysql.max_links

"-1"

PHP_INI_SYSTEM

mysql.default_host

NULL

PHP_INI_ALL

mysql.default_user

NULL

PHP_INI_ALL

mysql.default_password

NULL

PHP_INI_ALL

mysql.default_port

NULL

PHP_INI_ALL

mysql.default_socket

NULL

PHP_INI_ALL

ncurses.value

"42"

PHP_INI_ALL

ncurses.string

"foobar"

PHP_INI_ALL

odbc.allow_persistent

"1"

PHP_INI_SYSTEM

odbc.max_persistent

"-1"

PHP_INI_SYSTEM

odbc.max_links

"-1"

PHP_INI_SYSTEM

odbc.default_db

NULL

PHP_INI_ALL

odbc.default_user

NULL

PHP_INI_ALL

odbc.default_pw

NULL

PHP_INI_ALL

odbc.defaultlrl

"4096"

PHP_INI_ALL

odbc.defaultbinmode

"1"

PHP_INI_ALL

odbc.check_persistent

"1"

PHP_INI_SYSTEM

pfpro.defaulthost

"test.signio.com"

 

pfpro.defaulthost

"test-payflow.verisign.com"

 

pfpro.defaultport

"443"

PHP_INI_ALL

pfpro.defaulttimeout

"30"

PHP_INI_ALL

pfpro.proxyaddress

""

PHP_INI_ALL

pfpro.proxyport

""

PHP_INI_ALL

pfpro.proxylogon

""

PHP_INI_ALL

pfpro.proxypassword

""

PHP_INI_ALL

pgsql.allow_persistent

"1"

PHP_INI_SYSTEM

pgsql.max_persistent

"-1"

PHP_INI_SYSTEM

pgsql.max_links

"-1"

PHP_INI_SYSTEM

pgsql.auto_reset_persistent

"0"

PHP_INI_SYSTEM

pgsql.ignore_notice

"0"

PHP_INI_ALL

pgsql.log_notice

"0"

PHP_INI_ALL

session.save_path

"/tmp"

PHP_INI_ALL

session.name

"PHPSESSID"

PHP_INI_ALL

session.save_handler

"files"

PHP_INI_ALL

session.auto_start

"0"

PHP_INI_ALL

session.gc_probability

"1"

PHP_INI_ALL

session.gc_divisor

"100"

PHP_INI_ALL

session.gc_maxlifetime

"1440"

PHP_INI_ALL

session.serialize_handler

"php"

PHP_INI_ALL

session.cookie_lifetime

"0"

PHP_INI_ALL

session.cookie_path

"/"

PHP_INI_ALL

session.cookie_domain

""

PHP_INI_ALL

session.cookie_secure

""

PHP_INI_ALL

session.use_cookies

"1"

PHP_INI_ALL

session.use_only_cookies

"0"

PHP_INI_ALL

session.referer_check

""

PHP_INI_ALL

session.entropy_file

""

PHP_INI_ALL

session.entropy_length

"0"

PHP_INI_ALL

session.cache_limiter

"nocache"

PHP_INI_ALL

session.cache_expire

"180"

PHP_INI_ALL

session.use_trans_sid

"0"

PHP_INI_SYSTEM
PHP_INI_PERDIR

session.encode_sources

"globals,track"

PHP_INI_ALL

assert.active

"1"

PHP_INI_ALL

assert.bail

"0"

PHP_INI_ALL

assert.warning

"1"

PHP_INI_ALL

assert.callback

NULL

PHP_INI_ALL

assert.quiet_eval

"0"

PHP_INI_ALL

safe_mode_protected_env_vars

SAFE_MODE_PROTECTED_ENV_VARS

PHP_INI_SYSTEM

safe_mode_allowed_env_vars

SAFE_MODE_ALLOWED_ENV_VARS

PHP_INI_SYSTEM

url_rewriter.tags

"a=href,area=href,
frame=src,
form=fakeentry"

PHP_INI_ALL

sybct.allow_persistent

"1"

PHP_INI_SYSTEM

sybct.max_persistent

"-1"

PHP_INI_SYSTEM

sybct.max_links

"-1"

PHP_INI_SYSTEM

sybct.min_server_severity

"10"

PHP_INI_ALL

sybct.min_client_severity

"10"

PHP_INI_ALL

sybct.hostname

NULL

PHP_INI_ALL

vpopmail.directory

""

PHP_INI_ALL

zlib.output_compression

"0"

PHP_INI_SYSTEM
PHP_INI_PERDIR

zlib.output_compression_level

"-1"

PHP_INI_ALL

define_syslog_variables

"0"

PHP_INI_ALL

highlight.bg

HL_BG_COLOR

PHP_INI_ALL

highlight.comment

HL_COMMENT_COLOR

PHP_INI_ALL

highlight.default

HL_DEFAULT_COLOR

PHP_INI_ALL

highlight.html

HL_HTML_COLOR

PHP_INI_ALL

highlight.keyword

HL_KEYWORD_COLOR

PHP_INI_ALL

highlight.string

HL_StrING_COLOR

PHP_INI_ALL

allow_call_time_pass_reference

"1"

PHP_INI_SYSTEM
PHP_INI_PERDIR

asp_tags

"0"

PHP_INI_SYSTEM
PHP_INI_PERDIR

display_errors

"1"

PHP_INI_ALL

display_startup_errors

"0"

PHP_INI_ALL

enable_dl

"1"

PHP_INI_SYSTEM

expose_php

"1"

PHP_INI_SYSTEM

html_errors

"1"

PHP_INI_ALL

xmlrpc_errors

"0"

PHP_INI_SYSTEM

xmlrpc_error_number

"0"

PHP_INI_ALL

ignore_user_abort

"0"

PHP_INI_ALL

implicit_flush

"0"

PHP_INI_ALL

log_errors

"0"

PHP_INI_ALL

log_errors_max_len

"1024"

PHP_INI_ALL

ignore_repeated_errors

"0"

PHP_INI_ALL

ignore_repeated_source

"0"

PHP_INI_ALL

magic_quotes_gpc

"1"

PHP_INI_PERDIR
PHP_INI_SYSTEM

magic_quotes_runtime

"0"

PHP_INI_ALL

magic_quotes_sybase

"0"

PHP_INI_ALL

output_buffering

"0"

PHP_INI_PERDIR
PHP_INI_SYSTEM

output_handler

NULL

PHP_INI_PERDIR
PHP_INI_SYSTEM

register_argc_argv

"1"

PHP_INI_PERDIR
PHP_INI_SYSTEM

register_globals

"0"

PHP_INI_PERDIR
PHP_INI_SYSTEM

safe_mode

"1"

PHP_INI_SYSTEM

safe_mode

"0"

PHP_INI_SYSTEM

safe_mode_include_dir

NULL

PHP_INI_SYSTEM

safe_mode_gid

"0"

PHP_INI_SYSTEM

short_open_tag

DEFAULT_SHORT_OPEN_TAG

PHP_INI_SYSTEM
PHP_INI_PERDIR

sql.safe_mode

"0"

PHP_INI_SYSTEM

track_errors

"0"

PHP_INI_ALL

y2k_compliance

"0"

PHP_INI_ALL

unserialize_callback_func

NULL

PHP_INI_ALL

arg_separator.output

"&"

PHP_INI_ALL

arg_separator.input

"&"

PHP_INI_SYSTEM
PHP_INI_PERDIR

auto_append_file

NULL

PHP_INI_SYSTEM
PHP_INI_PERDIR

auto_prepend_file

NULL

PHP_INI_SYSTEM
PHP_INI_PERDIR

doc_root

NULL

PHP_INI_SYSTEM

default_charset

SAPI_DEFAULT_CHARSET

PHP_INI_ALL

default_mimetype

SAPI_DEFAULT_MIMETYPE

PHP_INI_ALL

error_log

NULL

PHP_INI_ALL

extension_dir

PHP_EXTENSION_DIR

PHP_INI_SYSTEM

gpc_order

"GPC"

PHP_INI_ALL

include_path

PHP_INCLUDE_PAth

PHP_INI_ALL

max_execution_time

"30"

PHP_INI_ALL

open_basedir

NULL

PHP_INI_SYSTEM

safe_mode_exec_dir

"1"

PHP_INI_SYSTEM

upload_max_filesize

"2M"

PHP_INI_SYSTEM
PHP_INI_PERDIR

file_uploads

"1"

PHP_INI_SYSTEM

post_max_size

"8M"

PHP_INI_SYSTEM
PHP_INI_PERDIR

upload_tmp_dir

NULL

PHP_INI_SYSTEM

user_dir

NULL

PHP_INI_SYSTEM

variables_order

NULL

PHP_INI_ALL

error_append_string

NULL

PHP_INI_ALL

error_prepend_string

NULL

PHP_INI_ALL

SMTP

"localhost"

PHP_INI_ALL

smtp_port

25

PHP_INI_ALL

browscap

NULL

PHP_INI_SYSTEM

error_reporting

NULL

PHP_INI_ALL

memory_limit

"8M"

PHP_INI_ALL

precision

"14"

PHP_INI_ALL

sendmail_from

NULL

PHP_INI_ALL

sendmail_path

DEFAULT_SENDMAIL_PAth

PHP_INI_SYSTEM

disable_classes

""

php.ini only

disable_functions

""

php.ini only

allow_url_fopen

"1"

PHP_INI_ALL

always_populate_raw_post_data

"0"

PHP_INI_SYSTEM
PHP_INI_PERDIR

xbithack

"0"

PHP_INI_ALL

engine

"1"

PHP_INI_ALL

last_modified

"0"

PHP_INI_ALL

child_terminate

"0"

PHP_INI_ALL

async_send

"0"

PHP_INI_ALL

 

可操作范围见下表:

操作范围

 

Constant

Value

Meaning

PHP_INI_USER

1

Entry can be set in user scripts

PHP_INI_PERDIR

2

Entry can be set in php.ini, .htaccess or httpd.conf

PHP_INI_SYSTEM

4

Entry can be set in php.ini or httpd.conf

PHP_INI_ALL

7

Entry can be set anywhere

 

常量

含义

PHP_INI_USER

1

该项目可以在用户脚本中设定

PHP_INI_PERDIR

2

该项目可以在 php.ini ,.htaccess 或者 httpd.conf 中设定

PHP_INI_SYSTEM

4

该项目可以在 php.ini 或 httpd.conf 中设定

PHP_INI_ALL

7

该项目可以在任何地方设定

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值