ini_setini_get 可操作配置参数列表
为了使自己的程序在不同的平台中拥有更好的兼容性,很多时候我们都要获取当前Php的运行环境参数。
比如我们常用到的:
获取 magic_quotes_gpc 状态,来决定当表单提交时我们是否转义(addslashes)数据;
设定 max_execution_time 来延长 程序的执行时间;
设定 error_reporting 使自己的项目在开发与运营阶段切换;
设定 memory_limit 加大内存等等…
Php代码
- ini_set (string varname, string newvalue ) : //设定环境配置的参数
- ini_get (string varname) : //获取环境配置的参数
Php代码
- ini_set(string varname, string newvalue ) : //设定环境配置的参数
- ini_get(string varname) : //获取环境配置的参数
ini_set(string varname, stringnewvalue ) : //设定环境配置的参数
ini_get(string varname) : //获取环境配置的参数
PHP ini_set函数是设置选项中的值,在执行函数后生效,脚本结束的时候,这个设置也失效。不是所有的选项都能被改函数设置的。具体那些值能够设置,可以查看手册中的列表。
就是能够设置php.ini中的选项值比如,display_error选项关闭 了,但是你要显示程序中的错误信息,方便你调试程序,那么就可以使用PHP ini_set函数:
Php代码
- ini_set ( "display_errors" , "On" );
Php代码
- ini_set("display_errors", "On");
ini_set("display_errors","On");
那么在你这个页面的程序都会显示错误信息了,而且你还可以使用error_reporting来设置显示的错误信息级别。
如果你需要增加脚本执行时间,那么可以设置:
Php代码
- ini_set ( "max_execution_time" , "180" );
Php代码
- 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代码
- ini_set ( "include_path" , ini_get ( "include_path" ). ":/your_include_dir:" );
Php代码
- 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代码
- <?php
- /* Our php.ini contains the following 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) . " " ;
- ?>
Php代码
- <?php
- /* Our php.ini contains the following 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) . " ";
- ?>
<?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代码
- <?php
- /* 字符串过滤函数 */
- function stringFilter( $str ) {
- if ( ini_get ( "magic_quotes_gpc)" ) { return $str ; } else { return addslashes ( $str ); }
- }
- ?>
Php代码
- <?php
- /* 字符串过滤函数 */
- function stringFilter($str) {
- if (ini_get("magic_quotes_gpc)") { return $str; } else { return addslashes($str); }
- }
- ?>
<?php
/* 字符串过滤函数 */
function stringFilter($str) {
if (ini_get("magic_quotes_gpc)") { return $str; } else { returnaddslashes($str); }
}
?>
当然,如果你无法知道你的全局变量是否打开,也可以定制这样的函数:
Php代码
- <?php
- /* 变量检测函数 */
- function getGetVar( $var ) {
- if ( ini_set ( "register_gobals" )){ return $var ; } else { return $_GET [ "var" ]; }
- }
- ?>
Php代码
- <?php
- /* 变量检测函数 */
- function getGetVar($var) {
- if (ini_set("register_gobals")){ return $var; } else { return $_GET["var"]; }
- }
- ?>
<?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 |
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, |
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 |
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 |
asp_tags |
"0" |
PHP_INI_SYSTEM |
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 |
magic_quotes_runtime |
"0" |
PHP_INI_ALL |
magic_quotes_sybase |
"0" |
PHP_INI_ALL |
output_buffering |
"0" |
PHP_INI_PERDIR |
output_handler |
NULL |
PHP_INI_PERDIR |
register_argc_argv |
"1" |
PHP_INI_PERDIR |
register_globals |
"0" |
PHP_INI_PERDIR |
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 |
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 |
auto_append_file |
NULL |
PHP_INI_SYSTEM |
auto_prepend_file |
NULL |
PHP_INI_SYSTEM |
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 |
file_uploads |
"1" |
PHP_INI_SYSTEM |
post_max_size |
"8M" |
PHP_INI_SYSTEM |
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 |
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 |
该项目可以在任何地方设定 |
- 上一篇: PHP二级分类查询显示方法
- 下一篇:没有了