PhpMyAdminをインストールしましたが、どのブラウザでも開くことができません: 1リダイレクトを取得します (*)http://localhost:8080/phpmyadmin
を参照すると。アドレスの末尾に/
を追加すると、代わりに500エラーステータスが表示されます。
(*)Wiresharkを使用してキャプチャされました。同じホスト上の端末からnetcatを使用すると、 1リダイレクトからdifferentアドレス 。
環境はVM開発/テスト目的で構築しました。ここに [〜#〜] lemp [〜#〜] (Linux/Nginx/MySQL/PHP)環境。これは CentOS 664ビットのクリーンインストールです。Ubuntu12.0464ビットホストでゲストとして実行されます。VMはポート付きのNATモードで実行されています転送。ゲストマシンでhttp://localhost:8080
を開いて、nginxのウェルカムページを表示できます。 phpinfoページ も開くことができるので、PHPが走っています。
Nginx、MySQM、PHP、phpMyAdminパッケージをそれぞれ個別にインストールしました。phpMyAdminのデフォルト設定を使用しています。MySQLをインストールした後、mysql_secure_installation
コマンドを実行しました。他のオプションの中で、私はリモートルートアクセスを無効にしました。
これが私の設定ファイルです:
PhpMyAdminへのログインを妨げる原因は複数ありました。
エラー500は、ファイル_/var/log/php-fpm/www-error.log
_にメッセージPHP Fatal error: Call to undefined function mb_detect_encoding() in /usr/share/php/gettext/gettext.inc on line 177
を生成します。 http://www.php.net/manual/en/mbstring.installation.php に関するコメントによると、_php-mbstring
_パッケージをインストールしようとしましたが、すでに存在していました。
_php-fpm service
_を再起動すると、エラー500が解決しました。
前のエラーを解決した後、次のエラーが発生しました。
_/etc/phpmyadmin/config.inc.php
_には行がありました
$ cfg ['Servers'] [$ i] ['auth_type'] = 'cookie';
ただし、PHPの_session.save_path
_変数は、存在しない_/var/lib/php/session
_フォルダーに設定されています。
適切な権限でフォルダを作成すると、このエラーが解決しました。正しくログインできます。
URLの末尾にスラッシュを付けずにこのサーバーのanyアドレスにアクセスしようとすると、nginxは末尾のスラッシュおよびその_:8080
_部分を削除します。末尾のスラッシュを残しても発生しません。
(例:_http://localhost:8080/example
_は_http://localhost/example/
_にリダイレクトされます。phpMyAdminを実行しているという事実both VMおよび追加されたホストマシンphpMyAdminログインダイアログが表示されるのでさらに混乱しますが、宛先が間違っています)。
一般的なnginxエラー のようです。私はグーグルでいろいろな解決策を試しましたが成功しませんでした。私の場合の解決策を見つけたら、この回答を更新します。
ルートログインは、/etc/phpmyadmin/config.inc.php
構成ファイルで許可する必要があります。
次の行を追加します。
$ cfg ['Servers'] [$ i] ['AllowRoot'] = TRUE;
/var/log/nginx/error.log
をチェックして、エラー500の内容を確認してください。
競合する可能性のある2つの構成(1つはポート80で、もう1つは8080で)を実行しているようです。