關於PHP中的警告資訊和session的一些討論

TP_funny發表於2014-12-29


一.關於如何隱藏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》。

原文:http://www.pixelstech.net/article/1321636646-How-to-hide-PHP-Notice-%26-Warning-Messages
      http://www.pixelstech.net/article/1377954640-Set-PHP-session-timeout
譯文:http://www.php100.com/html/dujia/2014/1226/8196.html
來自:PHP100
評論(1)

相關文章