2013-10-15 141 views
1

我處於共享主機上,並且出於安全原因禁用了ini_set函數。我試圖在這個主機上部署CakePHP 2.4.1。新鮮蛋糕安裝結果在一個空白頁,沒有錯誤顯示,而不是如果我評論這些行:共享主機上的CakePHP ini_set

\ LIB \蛋糕\型號\數據源\ CakeSession.php

if (empty($_SESSION)) { 
      if (!empty($sessionConfig['ini']) && is_array($sessionConfig['ini'])) { 
       foreach ($sessionConfig['ini'] as $setting => $value) { 
        if (ini_set($setting, $value) === false) { 
         throw new CakeSessionException(__d('cake_dev', 'Unable to configure the session, setting %s failed.', $setting)); 
        } 
       } 
      } 
     } 

一切似乎作品精細。現在,我想問一下保留這些代碼段的缺點(換句話說,代碼是由什麼負責的)?

回答

0

由於異常消息,方法名稱和代碼的表示,它配置會話設置,會話名稱,cookie生存休息,保存處理程序等..

您的代碼可能運行正常,並您應該可以使用PHP session_*() functions來配置設置(最好的地方可能是您的bootstrap.php)。同樣在$_SESSION中寫入虛擬值似乎可以防止CakeSession::_configureSession()使用ini_set(),因此您不必修改它。

所以這可能會起作用,但它不應該跳過這樣的箍。沒有必要在正確設置的共享主機環境中禁用ini_set(),並且我個人會更改主機,以防他們無法更改此行爲。