LinuxコンピューターでMySQLを正しくセットアップしましたが、ターミナル以外にデータベースにデータを入力するためのより良い方法が必要です。このため、phpMyAdminをダウンロードしました。ただし、index.phpからphpMyAdminにログインしようとすると、何も実行されません。何もせずにページを更新するだけのようです。正しいMySQLユーザー名とパスワードを入力しています。どうした?
これは、「移動」をクリックした後に表示されるスクリーンショットです。
これは、php_sessionを保存するパスが正しく設定されていない場合に発生する可能性のある問題です。
セッションを保存するためのディレクトリが存在しないか、phpに書き込むための十分な権限がありません。
Php_sessionディレクトリを定義するには、php.iniに次の行を追加するだけです。
session.save_path="/tmp/php_session/"
そして、httpサーバーに書き込み権限を与えます。
通常、httpサーバーはグループデーモンのユーザーデーモンとして実行されます。その場合は、次のコマンドで実行できます。
chown -R :daemon /tmp/php_session
chmod -R g+wr /tmp/php_session
service httpd restart
セッションフォルダが書き込み可能でない場合、ログインは失敗します。これを確認するには、次のコマンドを使用して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>
またはchmod777 Sudo setfacl -R -m u:www-data:rwx <session directory>
-
私の場合、ハードドライブがいっぱいでした。
df -h
を使用して、ハードドライブに残っているスペースを確認します。必要に応じて、コマンドSudo apt-get clean
を使用してスペースを解放し、インストールファイルを削除します。
これが将来のユーザーの助けになることを願っています。
私の場合、解決策はApache設定を適切に設定することでした。
ProxyPassReverseCookiePath
ProxyPassおよびProxyPassReverseが使用されていたため、これが必要でしたが、Cookieパスは自動的に変更されません。
パスワードがPOSTで送信されたときに、PHPMyAdminがセッションが見つからないなどの何かを示していたら素晴らしいと思います。
ゲームに遅れましたが、Amazon linuxAMIではphpmyadminにログインできませんでした...エラーなしでログイン画面を更新し続けました。
以下のコマンドで修正しました
Sudo chmod -R 755 /var/lib/php/session
公式のphpmyadminサイトからダウンロードしたMariaDBとphpmyadminを追加してCentOS7の問題を修正しました
session.save_path = "/var/lib/php/session"
to / etc/php.ini
そして
chown -R :lighttpd /var/lib/php/session
後にphp-fpmとlighttpdも再起動しました
親ディレクトリの1つに、301リダイレクトを実行してURLからindex.phpを削除する.htaccessファイルがありますか?
301リダイレクトはフォームデータを破棄し、何も送信しなかったかのようにリダイレクトします。したがって、ログインページに戻ります。
したがって、phpmyadminディレクトリにローカルの.htaccessファイルを1行で作成する必要がありますRewriteEngine On
。これにより、以前の書き換えルールが何も上書きされません。
Chromeは301リダイレクトを積極的にキャッシュするため、ブラウザのキャッシュをクリアする必要がある場合があります。
私の場合、それは古いApacheセッションが原因でした。 Apacheを停止し、sessions.save_path
ディレクトリ(例:/var/lib/php/session
)で保留中のセッションをすべてクリアして、Apacheを再起動します。
私はこれらのコマンドを実行しました、そしてそれは私のために働きました:
Sudo service httpd restart
Sudo service mysqld stop
Sudo service mysqld start
ログインに失敗すると、phpMyAdminはエラーを表示します。そうでない場合、セットアップにエラーがあることを意味します。
確認する可能性が最も高い場所は、php.ini
の設定です。 phpMyAdmin互換の設定の公式リストはないようですので、ほとんど試行錯誤です。
有効にする必要がある 有効なもの があることを確認してください。また、phpMyAdminは「通常の設定」であると想定しているため、uncommonphp.ini設定(enable_post_data_reading = Off
など)を有効にしていないことを確認してください。
デバッグを容易にするために、クリーンな デフォルトphp.ini
ファイルから始めて、エラーの原因となっている設定を確認するために1行ずつ微調整します。 (変更を行うには、php.ini
ファイルを変更した後、サーバーを再起動する必要があることを忘れないでください。)
次のようなエラーが発生した場合:
多くの接続エラーのため、ホスト 'Host_name'はブロックされています。
Rootとしてmysqlにログインし、flushhostsコマンドを実行します
1.- mysql -u root -p
2.-mysql>フラッシュホスト
この後、phpmyadminで再度ログインできました
$cfg['blowfish_secret']
値の 'config.inc.php'に32文字の長さのランダムキーを設定してください。それは私にとってそれを解決しました。
Mysqlが実行されていることを確認しますか?データベースのインポートを実行し、mysqlデータベースを含むボリュームをいっぱいにした後、同じ問題が発生しました。さまざまな権限を変更してセッションをクリアした後、mysqlを再起動しようとしました(/etc/init.d/mysql restart)が、ボリュームがいっぱいだったため失敗しました。/varを増やしてmysqlを正常に起動した後、phpmyadminに問題なくログインできました。