为了使自己的程序在不同的平台中拥有更好的兼容性,很多时候我们都要获取当前Php的运行环境参数。比如我们常用到的:获取magic_quotes_gpc状态,来决定当表单提交时我们是否转义(addslashes)数据;设定max_execution_time来延长程序的执行时间;设定error_reporting使自己的项目在开发与运营阶段切换;设定memory_limit加大内存等等…
ini_set(string varname, string newvalue ) : 设定环境配置的参数
ini_get(string varname) : 获取环境配置的参数
参数列表如下
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 |
可操作范围见下表:
操作范围
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 |