web-dev-qa-db-ja.com

phpMyAdminでエラーなしでセッションを開始できません

ブラウザでphpMyAdminを指定すると、次のエラーが表示されます

エラーなしでセッションを開始することはできません。PHPおよび/またはWebサーバーのログファイルで指定されたエラーを確認し、PHPインストールを適切に構成してください。

私はすべてをチェックしましたが、問題が何であるかを理解できないようです。

私のphp.iniファイルには次のものがあります:

session.save_path = "/var/lib/php/session"

許可:

drwxr-xr-x  2 root Apache 4096 Feb 16 04:47 session

何も機能しないようです。セッションディレクトリのアクセス許可を777に変更します。

50
rciiipo

通常、問題はブラウザ側にあります。

ブラウザのキャッシュをフラッシュし、サーバー/ホストのCookieを削除してから、phpMyAdminの読み込みを再試行する必要があります。

すべて外出したい場合は、サーバー上のセッションフォルダーもクリアします。

考えられる理由の1つは、ブラウザーとWebサーバー間の セッションデータの不一致 が原因で、必要なセッション情報を取得できず、このエラーダイアログを膝の上にダンプすることです。

82
random

問題は、ファイルとフォルダーのアクセス許可が原因である可能性があります。フォルダーのアクセス許可を変更してみてください。

Sudo chmod 777 /var/lib/php/session/

これにより、PHPセッションフォルダーに完全な読み取り/書き込み権限が設定されます。

注:php/session/フォルダーは、サーバーによっては異なる場所にある場合があります。セッションパスのphp.iniを確認してください。

49
Bradley Flood

私の場合、/var/lib/php/sessionの所有権が間違っていました。これをApacheユーザーとグループ(Webサーバーを実行するユーザーとグループ)に変更しましたが、すべて順調でした。

9
Dave F

session.save_pathphp.iniを設定します。既存のディレクトリを使用していることを確認してください。

それでも問題が見つかった場合は、そのフォルダーを使用するユーザーにそのフォルダーへの書き込みと実行の許可を与えます。[これはIISの場合に特に使用されます]

7
ba1ar

このエラーには2つの一般的な原因があるようです。1つはサーバー構成とsession.save_pathに関連し、もう1つはブラウザーのキャッシュです。

このエラーが発生した場合は、サーバー上のApacheおよびPHP構成を変更する前に、別のブラウザーまたはマシンを使用してみてください!

サーバーのCookieをクリアするだけでは十分ではないことに注意してください。キャッシュをクリアする必要があります。

Firefoxでは、すべての履歴とCookieをクリアするのは簡単ですが、すべてを削除したくない場合があります。キャッシュをクリアすると、Firefoxに隠されます:

ツール>オプション>詳細設定>ネットワーク:キャッシュされたWebコンテンツ-今すぐクリア

4
Kevin Sadler

停止777


(私のような)nginxを使用する場合は、/var/lib/php/の下のフォルダーの所有権を変更するだけですApacheからnginx

[root@centos ~]# cd /var/lib/php/
[root@centos php]# ll
total 12
drwxrwx---. 2 root Apache 4096 Jan 30 16:23 opcache
drwxrwx---. 2 root Apache 4096 Feb  5 20:56 session
drwxrwx---. 2 root Apache 4096 Jan 30 16:23 wsdlcache

[root@centos php]# chown -R :nginx opcache/
[root@centos php]# chown -R :nginx session/
[root@centos php]# chown -R :nginx wsdlcache/
[root@centos php]# ll
total 12
drwxrwx---. 2 root nginx 4096 Jan 30 16:23 opcache
drwxrwx---. 2 root nginx 4096 Feb  5 20:56 session
drwxrwx---. 2 root nginx 4096 Jan 30 16:23 wsdlcache

また、/var/lib/phpMyAdmin/の下のフォルダーの場合:

[root@centos php]# cd /var/lib/phpMyAdmin
[root@centos phpMyAdmin]# ll
total 12
drwxr-x---. 2 Apache apache 4096 Dec 23 20:29 config
drwxr-x---. 2 Apache apache 4096 Dec 23 20:29 save
drwxr-x---. 2 Apache apache 4096 Dec 23 20:29 upload

[root@centos phpMyAdmin]# chown -R nginx:nginx config/
[root@centos phpMyAdmin]# chown -R nginx:nginx save/
[root@centos phpMyAdmin]# chown -R nginx:nginx upload/
[root@centos phpMyAdmin]# ll
total 12
drwxr-x---. 2 nginx nginx 4096 Dec 23 20:29 config
drwxr-x---. 2 nginx nginx 4096 Dec 23 20:29 save
drwxr-x---. 2 nginx nginx 4096 Dec 23 20:29 upload
4
Mir-Ismaili

セッションフォルダーが書き込み可能でない場合、ログインは失敗します。それを確認するには、次のようにWebディレクトリにPHPファイルを作成します。

<?php
$sessionPath = 'undefined';

if (!($sessionPath = ini_get('session.save_path'))) {
    $sessionPath = isset($_ENV['TMP']) ? $_ENV['TMP'] : sys_get_temp_dir();
}

if (!is_writeable($sessionPath)) {
    echo 'Session directory "'. $sessionPath . '"" is not writeable';
} else {
    echo 'Session directory: "' . $sessionPath . '" is writeable';
}

セッションフォルダーが書き込み可能でない場合

Sudo setfacl -R -m u:www-data:rwx <session directory>またはchmod 777 <session directory>-

3
Amadu Bah

OK、

私はWindows 7 UltimateとWAMP 2.4サーバーを使用しています。tmpフォルダーが欠落していたため、作成しました。これで問題が解決しました。 php.iniファイルで正しいパスを確認してください:session.save_path

3
miguel

Xamppの場合、「ルート」フォルダーから一時ハエを削除するとうまくいきます。

TH

1
Simom Hasan

このスレッドが解決済みとしてマークされていることを知ると、特定の用語のGoogle検索で早期に表示されます。そのため、このエラーにつながる可能性のある別の理由に言及することが役立つと思いました。

「セーフ/セキュアCookie」を有効にした場合は、phpMyAdminを有効にすると機能しないため、phpMyAdminに対して無効にする必要があります。したがって、次のようなものがないことを確認してください。

Header set Set-Cookie HttpOnly;Secure

あなたの設定で。

0
MaddinXx

私は丸一日、この同じ問題に取り組みました。私にとっての答えは、ブラウザのキャッシュを単純にクリアすることでした。残念なことに、すでにwebserver/phpmyadminを3回再インストールしていました。 :(

0
Todd Painton

Windows Server 2016で見つかった問題は、PHPが使用する一時ディレクトリのアクセス許可が間違っていたことです。 IUSRを追加しました。

0
Zymotik

問題は、session.save_handlerに間違ったphp.ini値があることでもあります。 memcachedに変更するとこのエラーが発生し、filesに戻すと再びエラーになりました。

0
Jesús Carrera

最初:session dirでない場合(私の場合はそうでした)

Sudo mkdir /var/lib/php/session

2番目:session dirの特権を設定します

Sudo chmod 777 /var/lib/php/session
0
shilovk

これは、無効なセッションキーが原因である場合があります。 XAMPPを使用している場合、私のために働いたのは、XAMPP xampp/tempでtempフォルダを開き、sess_で始まるセッションファイルを削除することでした

0
Sugoi Reed

ブラウザのキャッシュをクリアしました。 phpinfo.phpにリストされているセッションフォルダーを作成しました。

動いた !

0
Paramasivan