我正在開發一個需要使用會話的網站。然而,會話壽命的默認值是1440秒或24分鐘。我試圖用ini_set()
來改變這個,確保把ini_set()
放在session_start()
之前,然後用ini_get()
檢查它。 ini_get()
返回我設置的值,但會話似乎仍遵循默認規則集。主機是否可以鎖定php ini設置?
那麼主機是否可以鎖定編輯ini設置?
我正在開發一個需要使用會話的網站。然而,會話壽命的默認值是1440秒或24分鐘。我試圖用ini_set()
來改變這個,確保把ini_set()
放在session_start()
之前,然後用ini_get()
檢查它。 ini_get()
返回我設置的值,但會話似乎仍遵循默認規則集。主機是否可以鎖定php ini設置?
那麼主機是否可以鎖定編輯ini設置?
簡答:可能。
這可能是因爲他們已經通過disable_functions
指令在全局php.ini中禁止使用ini_set
,但這並不能解釋您所看到的行爲;該文檔尚不明確,但如果您調用禁用的函數,我希望它會引發錯誤,也不能解釋爲什麼ini_get
返回您之前設置的內容。他們也完全可能運行他們自己的補丁版本的PHP來改變這種行爲。不是聞所未聞,但不太可能。
事情嘗試:
session_start
),你設置正確參數(session.cookie_lifetime
)是的,我已經完成了這兩個。那麼他們必須禁用它們。使用會話進行用戶登錄時,有點煩人。我有一個與他們聊天tommrow關於它:) – user2126881
喚醒器是肯定的。
該php代理有3個作用域。
1系統
這一個影響所有的應用程序。它是global.ini文件。他們可以 也禁用覆蓋。
2 Perdir
這是你的php.ini文件。它隻影響你的目錄。在這裏可以 您禁用腳本範圍覆蓋項,並允許
3時腳本
這是
ini_set
範圍使該 系統範圍覆蓋。允許
所以有可能是一臺主機鎖定的INI設置編輯時,它可以覆蓋perdir &系統 範圍是什麼?
是的,他們可以禁用覆蓋系統範圍內。
真的嗎?你有資源嗎?從[文檔說](http://uk3.php.net/manual/en/configuration.changes.php),它在我看來像這些被烘烤到PHP中,不能修改PHP本身。所以,如果一個屬性被'PHP_INI_ALL'標記爲可更改的,我不會看到如何通過PHP_INI_SYSTEM改變它。 – BenLanc
哪個網絡服務器? – wallyk
我相信我在apache上使用linux。 – user2126881
是的。主持人可以強制他們想要的任何設置,或者如果他們願意,可以禁止您進行更改。特別是在外部文件如會話的地方,他們可以做自己的垃圾收集。 –