• ini_set ini_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) : //获取环境配置的参数  

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

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

    Php代码
    1. ini_set ( 'display_errors' ,  'On' );  
    Php代码  收藏代码
    1. ini_set('display_errors', 'On');  
     

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

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

    Php代码
    1. ini_set ( 'max_execution_time' ,  '180' );  
    Php代码  收藏代码
    1. 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:');  
     

     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. ?>  

      输出:

      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代码
    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配置函数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 该项目可以在任何地方设定
  • 相关阅读:
    mutt+msmtp实现在shell环境中发送电子邮件
    rsync无密码备份文件的方法
    segemehl 生成sam文件的后续处理——生成methylation table
    ubuntu 14.04 安装VMware虚拟机
    完全用Linux工作
    Ubuntu 与CentOS 6.5 配置单网卡双IP
    How to use Bismark
    How to use segemehl
    Ubuntu 为火狐安装插件
    遇到的问题
  • 原文地址:https://www.cnblogs.com/xiaoleiel/p/8334385.html
Copyright © 2020-2023  润新知