关于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》。

浙公网安备 33010602011771号