欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Nginx配备Yii和phpMyAdmin虚拟主机

程序员文章站 2022-05-06 18:24:18
...
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虚拟主机

    认证0级讲师

    推荐视频教程
  • Nginx配备Yii和phpMyAdmin虚拟主机javascript初级视频教程
  • Nginx配备Yii和phpMyAdmin虚拟主机jquery 基础视频教程
  • 视频教程分类