Home >Backend Development >PHP Tutorial >Nginx配备Yii和phpMyAdmin虚拟主机

Nginx配备Yii和phpMyAdmin虚拟主机

WBOY
WBOYOriginal
2016-06-13 10:30:301222browse

Nginx配置Yii和phpMyAdmin虚拟主机

在我们部署项目时经常需要用Nginx,同时需要支持url重写,还得安装一个phpmyadmin,这时候问题就来了。如何让phpmyadmin不在web根目录下?以下是配置文件样例:

?

server{     listen      80;     server_name  dmis.sangou.net;     index index.html index.htm index.php;     root  /opt/www/dmis/;     location /phpmyadmin {                         root /opt/www/;                         index index.php;             }           location ~ ^/phpmyadmin/.*\.(php|php5)$ {                        root /opt/www/;                        fastcgi_pass  unix:/tmp/php-cgi.sock;        include fastcgi_params;        fastcgi_param  DOCUMENT_ROOT  $document_root/phpmyadmin;        #fastcgi_pass  127.0.0.1:9000;        fastcgi_index index.php;        set $path_info $request_uri;        if ($request_uri ~ "^(.*)(\?.*)$") {            set $path_info $1;        }        fastcgi_param PATH_INFO $path_info;          }          location / {         if (!-e $request_filename){           rewrite (.*) /index.php last;        }    }        location ~ .*\.php?$    {        fastcgi_pass  unix:/tmp/php-cgi.sock;        include fastcgi_params;        #fastcgi_pass  127.0.0.1:9000;        fastcgi_index index.php;        set $path_info $request_uri;        if ($request_uri ~ "^(.*)(\?.*)$") {            set $path_info $1;        }        fastcgi_param PATH_INFO $path_info;    }   #error_page  404  =  /404.gif;}

?

?

可以看到里面Phpmyadmin虚拟目录的设置,其顺序是很有讲究的。然后就是支持 yii 的url 重写规则,我们将其用 location / 进行限定。

?

接下来你登录pma,会发现被重定向到了根目录,这是怎么回事?经过一番查找,发现pma中有个设置 $cfg['PmaAbsoluteUri'] = ''; 默认是自动探测的,这里就有问题了。但修改这个没有用。我们就来硬的把,直接修改程序文件 libraries/auth/cookie.auth.lib.php, 找到:

// URL where to go:        $redirect_url = $cfg['PmaAbsoluteUri'] . 'index.php';

?修改为

// URL where to go:        $redirect_url = '/phpmyadmin/index.php';

?搞定。?

?

?

?

1 楼 uiexp 2011-08-23  
Nginx配备Yii和phpMyAdmin虚拟主机 Nginx配备Yii和phpMyAdmin虚拟主机
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn