PHP ini_set用來設定php.ini的值,在函數執行的時候生效,腳本結束後,設定失效。無需打開php.ini檔案,就能修改配置,對于虛拟空間來說,很友善。
函數格式:string ini_set(string $varname, string $newvalue)
不是所有的參數都可以配置,可以檢視手冊中的清單。
常見的設定:
@ ini_set('memory_limit', '64M');
'menory_limit':設定一個腳本所能夠申請到的最大記憶體位元組數,這有利于寫的不好的腳本消耗伺服器上的可用記憶體。@符号代表不輸出錯誤。
@ini_set('display_errors', 1);
‘display_errors’:設定錯誤資訊的類别。
@ini_set('session.auto_start', 0);
‘session.auto_start’:是否自動開session處理,設定為1時,程式中不用session_start()來手動開啟session也可使用session,
如果參數為0,又沒手動開啟session,則會報錯。
@ini_set('session.cache_expire', 180);
‘session.cache_expire’:指定會話頁面在用戶端cache中的有限期(分鐘)預設下為180分鐘。如果設定了session.cache_limiter=nocache時,此處設定無 效。
@ini_set('session.use_cookies', 1);
‘session.use_cookies’:是否使用cookie在用戶端儲存會話ID;
@ini_set('session.use_trans_sid', 0);
‘session.use_trans_sid’:是否使用明碼在URL中顯示SID(會話ID),
預設是禁止的,因為它會給你使用者帶來安全危險:1.使用者可能将包含有效的sid的URL通過email/irc/QQ/MSN等途徑告訴其他人。
2.包含有效sid的URL可能會儲存在公用電腦上。
3.使用者可能儲存帶有固定不變的SID的URL在他們的收藏夾或者浏覽曆史記錄裡。
基于URL的會話管理總是比基于Cookie的會話管理有更多的風險,是以應當禁用。