Article ID: 118701, created on Apr 17, 2015, last review on Apr 17, 2015

  • Applies to:
  • Plesk 11.0 for Linux
  • Plesk 11.5 for Linux

Symptômes

L'utilisateur ne peut pas se connecter à Plesk. Le message d'erreur "Session Expired" s'affiche.

  1. La page de connexion de Plesk est vide.

  2. Le message d'erreur suivant s'affiche dans /usr/local/psa/admin/logs/panel.log :

    2013-07-28T08:48:19-04:00 ERR (3)  [panel]: Session expired:
    0: Session.php:410
            Session->init()
    1: cmd_loginup.php:135
            createSessionCommon(integer '1', string 'admin', boolean  true, string '1.2.3.4', NULL null, NULL null)
    2: cmd_loginup.php:278
            createSessionAdmin(string 'admin', string '******', boolean  false, NULL null, boolean  true)
    3: cmd_loginup.php:68
            createSession(string 'admin', string '******', boolean  false, boolean  false)
    4: login_up.php3:45
    [28-Jul-2013 08:48:19 America/New_York] Session_Exception: Session expired
    file: /opt/psa/admin/plib/Session.php
    line: 410
    code: 0
    trace: #0 /opt/psa/admin/plib/cmd_loginup.php(135): Session->init()
    #1 /opt/psa/admin/plib/cmd_loginup.php(278): createSessionCommon(1, 'admin', true, '1.2.3.4', NULL, NULL)
    #2 /opt/psa/admin/plib/cmd_loginup.php(68): createSessionAdmin('admin', 'V***********G', false, NULL, true)
    #3 /opt/psa/admin/htdocs/login_up.php3(45): createSession('admin', 'V***********G', false, false)
    #4 {main}
    
  3. Comparez le résultat de ces deux commandes :

    # /usr/local/psa/bin/sw-engine-pleskrun  -r 'date_default_timezone_set(@date_default_timezone_get()); echo(date(DATE_RFC2822)."\n");'
    
    # mysql -uadmin -p`cat /etc/psa/.psa.shadow` -Dpsa -e "select NOW()"
    

Cause

Le serveur MySQL et le système d'exploitation (OS) ont des paramètres régionaux différents (fuseaux horaires).

Résolution

  1. Vérifiez si le paramètre default-time-zone n'est pas défini dans /etc/my.cnf (/etc/mysql/my.cnf sur Debian/Ubuntu). Le cas échéant, mettez-le à jour, décommentez-le ou supprimez cette directive.

    The 'default-time-zone' option sets the global 'time_zone' system variable. If this option is not given, the default time zone is the same as the system time zone (defined by the value of the 'system_time_zone' system variable.) 
    
  2. Redémarrez le serveur (si my.cnf a été modifié) :

    ~# /etc/init.d/mysqld restart 
    Stopping mysqld: [ OK ] 
    Starting mysqld: [ OK ] 
    
  3. Redémarrez le service PSA si le message "Session Expired" continue de s'afficher :

    ~# /etc/init.d/psa restart
    
  4. S'il ne s'affiche plus et si MySQL affiche l'heure correcte tandis que sw-engine-pleskrun ne l'affiche pas, vérifiez si les fuseaux horaires sont définis correctement pour le système.

    ~# /usr/local/psa/bin/sw-engine-pleskrun  -r 'date_default_timezone_set(@date_default_timezone_get()); echo(date(DATE_RFC2822)."\n");'
    Fri, 02 Jan 2015 09:32:33 +0600
    
    ~# date
    Fri Jan  2 10:32:35 NOVT 2015
    
    ~# mysql -uadmin -p`cat /etc/psa/.psa.shadow` -Dpsa -e "select NOW()"
    +---------------------+
    | NOW()               |
    +---------------------+
    | 2015-01-02 10:32:44 |
    +---------------------+ 
    
  5. Remplacez /etc/localtime par le fuseau horaire correct. En général, les fichiers des paramètres régionaux se trouvent dans /usr/share/zoneinfo/.

  6. Redémarrez le serveur MySQL.

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 01bc4c8cf5b7f01f815a7ada004154a2 29d1e90fd304f01e6420fbe60f66f838 0a53c5a9ca65a74d37ef5c5eaeb55d7f aea4cd7bfd353ad7a1341a257ad4724a

Email subscription for changes to this article
Save as PDF