2010-10-01 81 views
2

我目前正試圖將我的網站從我的機器上的本地主機移動到我的Web服務器。還有一個問題。在服務器端PHP session_start()錯誤

一切工作正常,除登錄表單管理。

起初我以爲這不是-save-as-utf-8-without-BOM問題,但是錯誤日誌顯示了一些我從未有過的奇怪問題。據我所知,問題是關於在服務器上保存會話數據,請參閱下面的錯誤日誌。

PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]: open(/var/php_sessions/sess_cd9931f63118e645ca5d3704fecf86c6, O_RDWR) failed: No such file or directory (2) in /hermes/bosweb/web273/b2738/ipg.mydomaincom/admin/login.php on line 2 
PHP Warning: Unknown: open(/var/php_sessions/sess_cd9931f63118e645ca5d3704fecf86c6, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 
PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/php_sessions) in Unknown on line 0 
PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]: open(/var/php_sessions/sess_cd9931f63118e645ca5d3704fecf86c6, O_RDWR) failed: No such file or directory (2) in /hermes/bosweb/web273/b2738/ipg.mydomaincom/admin/include/header.php on line 2 
PHP Warning: Unknown: open(/var/php_sessions/sess_cd9931f63118e645ca5d3704fecf86c6, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 
PHP Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/php_sessions) in Unknown on line 0 

這裏是我使用的login.php文件的代碼:

<?php 
    session_start(); 
    require_once 'config/config.php'; 
    $auth = "SELECT username, password FROM admin"; 
    $dbi = mysql_query($auth, $connection); 
    $row = mysql_fetch_array($dbi); 

    if($_POST["username"] == $row['username'] && MD5($_POST["password"]) == $row['password']) 

    { 
     $_SESSION["Login"] = "true"; 
     header ("Location: index.php"); 
    } 
    else 
     { 
      $_SESSION["Login"] = "false"; 
      //error msg 
      echo "<html> 
      <head><title>Failed Login Attempt</title></head> 
      <body> 
      Ops! Unlucky guess, try again! 
      <a href='index.php'>Go Back</a> 
      </body> 
      </html>   
      "; 
    } 
?> 

回答

7

第一步,檢查目錄/var/php_sessions/存在並且是Web服務器可寫。

+0

據我從我的ftp客戶端看到 - 沒有這樣的 – Chris 2010-10-01 22:34:48

+1

什麼是<?php $ message =(file_exists('/ var/php_sessions /'))? '找到php_sessions目錄':'找不到php_sessions目錄'; echo $ message; ?>報告? – danlefree 2010-10-01 22:45:48

+0

藉助託管支持解決了此問題。 – Chris 2010-10-01 23:17:04

0

也許你應該先創建目錄。看來你的config/config.php中的目錄不存在。

3

phpGrid需要會話才能工作。

首先,如果您有權訪問php.ini,請檢查session.save_path中的路徑是否有效且可寫。在Linux中,默認情況下,路徑是/ var/php_sessions /。

某些網絡託管服務(如iPage)出於安全原因不允許共享用戶會話文件夾。用戶必須創建和維護自己的會話文件夾。

http://www.ipage.com/knowledgebase/beta/article.bml?ArticleID=1290&type=How%20To#Nugget_1374

如果你不想來處理所有這些,寧願更寬鬆的安全託管服務,我們建議BlueHost的或stablehost。

+0

對於我在iPage上的MedaWiki部署,我在日誌中有很多警告..感謝您指出這一點,重定向到通過用戶的自定義php.ini使用/ cgi-bin/tmp - 花了幾分鐘時間文件更新得到認可,但現在它的工作。 – 2014-01-08 16:50:43