首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

Nginx配备Yii和phpMyAdmin虚拟主机

2012-07-02 
Nginx配置Yii和phpMyAdmin虚拟主机在我们部署项目时经常需要用Nginx,同时需要支持url重写,还得安装一个php

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';

?搞定。?

?

?

?

 

热点排行