Nginx、Varnish、PHP-fpmをインストールしました。次に、PHPmyAdminをインストールし、そのための仮想ホストを作成しました。
server{
listen 8080;
server_name phpmyadmin.Domain.com;
access_log /var/log/phpmyadmin.access_log;
error_log /var/log/phpmyadmin.error_log;
location / {
root /usr/share/phpmyadmin;
index index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/phpmyadmin$fastcgi_script_name;
include /opt/nginx/conf/fastcgi_params;
}
}
phpmyadmin.Domain.com
に行くと、期待どおりに機能します。しかし、ユーザー名/パスワードを送信すると、phpmyadmin.Domain.com:8080/index.php?...
にリダイレクトされ、ページが見つからないという応答もあります。
何ができますか?
私自身も同じ問題に遭遇しました。解決策は、config.inc.phpを変更し、phpMyAdminインストールへの絶対URLを指定することです。 phpMyAdmin Documentation に従って、以下を追加します。
$cfg['PmaAbsoluteUri'] = 'http://your.domain.com/path/to/phpmyadmin/';
この場合、nginx構成にport_in_redirect off;
を追加する必要はありませんが、追加しても悪影響はないようです(他のシナリオでも役立ちます)。
Nginx構成ファイルのphpロケーションブロックの任意の場所に次の行を追加するだけですafterinclude fastcgi_params
パート:
fastcgi_param SERVER_PORT 80;
これにより、phpは、nginxがリッスンしているポートにリダイレクトしようとしないで、ワニスのようにポート80にとどまるように指示します。
おそらくphpmyadminphpファイル/設定で標準ポート80を探しているものがあります。かなり一般的なのは、一部のスクリプトとワニス、つまりvbulletinと4imagesスクリプトの同様の問題であるようです http://vbtechsupport.com/290/http://vbtechsupport.com/303/ -これを修正するためにphpmyadminを調べる場所がわかることを願っています。