关于PHP中的警告信息和session的一些讨论

一.关于如何隐藏PHP编程时的警告信息

       很多刚开始学习PHP编程的人可能有这样疑问:如何隐藏PHP编程时的警告信息?这些PHP警告信息有时的确很烦人,会干扰到你的思考。另外,这些信息有时会显示出一些文件名和路径等相对机密的内容。下面告诉你关于屏蔽这些警告信息的代码。

// Turn off all error reporting
error_reporting(0);

// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);

// Report all PHP errors (bitwise 63 may be used in PHP 3)
error_reporting(E_ALL);

// Same as error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);



二.关于如何正确设置PHP中的session

       有很多关于PHP session的讨论,PHP新手也有一些关于session方面的问题,比如session的过期会比预期的时间早,或没有按照预期结束,这都给程序员带来了一些困扰。

       今天我们讨论一下如何正确的设置PHP session期限的问题。在php.ini文件中,有三个会影响session超时的重要参数,分别是 session.gc_maxlifetime, session.gc_probability 和session.gc_divisor。其中 session.gc_maxlifetime定义了一个session的生命周期(以秒为单位),session.gc_probability 和 session.gc_divisor决定着何时将到期的session回收(当两者相等时),这时会有一个新的session创建。为了不影响性 能,session.gc_probability/session.gc_divisor的比值不应该太大。

       有三种设置session.gc_maxlifetime的方法:
(1)在php.ini中设置session.gc_maxlifetime,它的默认值是1440秒(24分钟);
(2)在PHP代码开头的地方,现写出这样的代码ni_set(‘session.gc_maxlifetime’, time_in_seconds);
(3)如果你不操作php.ini文件,就在.htaccess中设置php_value session.gc_maxlifetime time_in_seconds;


       其它PHP上的学习问题,还可以参考《PHP获取当前日期和时间的方法》《8个与安全相关的PHP函数》《PHP100教你在命令行下执行PHP和MySQL》。

posted @ 2016-01-18 15:47  哦先生  阅读(245)  评论(0)    收藏  举报