2010-10-01 6 views
2

J'essaie actuellement de déplacer mon site de localhost sur mon ordinateur vers mon serveur web. Et il y a un problème.Erreur PHP session_start() côté serveur

Tout fonctionne correctement, à l'exception du formulaire de connexion pour l'administration. Au début, je pensais que ce n'était pas un problème de non-sauvegarde-comme-utf-8-sans-nomenclature, mais les journaux d'erreurs montrent un problème étrange que je n'avais jamais rencontré auparavant. Pour autant que je sache, le problème consiste à sauvegarder les données de session sur le serveur, voir le journal des erreurs ci-dessous.

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 

Voici le code que j'utilise pour le document 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>   
      "; 
    } 
?> 

Répondre

7

première étape, vérifiez que le répertoire /var/php_sessions/ existe et est accessible en écriture par votre serveur web. Peut-être que vous devriez d'abord créer le répertoire.

+0

Pour autant que je vois de mon client ftp - non il n'y en a pas – Chris

+1

Que fait 'rapport? – danlefree

+0

résolu ce problème avec l'aide de l'hébergement de soutien. – Chris

0

Il semble que le répertoire de votre fichier config/config.php n'existe pas.

3

phpGrid nécessite que la session fonctionne. Tout d'abord, si vous avez accès à php.ini, vérifiez si le chemin dans session.save_path est valide et accessible en écriture. Sous Linux, par défaut, le chemin est/var/php_sessions /.

Certains services d'hébergement Web, tels qu'iPage, interdisent le partage de session de l'utilisateur partagé pour des raisons de sécurité. Les utilisateurs DOIVENT créer et maintenir leur propre dossier de session.

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

Si vous ne voulez pas faire face à tous ceux et préfèrent plus lâche hébergement de sécurité, nous vous recommandons bluehost ou StableHost.

+0

Pour un déploiement MedaWiki sur mon site dans iPage, j'avais des tonnes d'avertissements dans les journaux .. merci de le signaler, redirigé pour utiliser/cgi-bin/tmp via le php.ini personnalisé de l'utilisateur - il a fallu quelques minutes pour la mise à jour du fichier pour être reconnu, mais maintenant cela fonctionne. –