开发者社区> 问答> 正文

有关phpmyadmin登录后跳到首页的问题

phpmyadmin登录后跳到首页的问题
搞了好久,还是没用。

server {
    listen 80;
    server_name localhost;
    root /home/wwwroot;
    index index.html index.htm index.php;

    location /pma {
         root /home/wwwroot;
         index index.php;
    }
    location ~ ^/pma/.*\.(php|php5)$ {                  
        root /home/wwwroot;
        fastcgi_pass unix:/var/run/php5-fpm.sock;        
        fastcgi_index index.php;      
        include fastcgi_params;  
    }   

    if (!-e $request_filename) {
        rewrite  ^/(.*)$  /index.php/$1  last;
        break;
    }   

    location ~ \.php$ {   
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        include fastcgi_params;
    }
}

在fastcgi_params里有
`fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;`

展开
收起
落地花开啦 2016-06-16 14:26:57 2934 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    我的做法是配置好 PHP 之后,直接到 DOCUMENT_ROOT 下建立一个到 PMA 的软链接。

    [16:56] caiknife@caiknife-ThinkPad-T400:/usr/share/nginx/html
    > ll
    总用量 12K
    -rw-r--r-- 1 root     root     537  5月 13  2015 50x.html
    lrwxrwxrwx 1 caiknife caiknife  43  9月 30 09:49 cakestrap -> /home/caiknife/source/cakestrap/app/webroot
    -rw-r--r-- 1 root     root     612  5月 13  2015 index.html
    -rwxrwxrwx 1 caiknife caiknife  17  9月 21 10:52 phpinfo.php
    lrwxrwxrwx 1 caiknife caiknife  21  9月 22 10:18 phpmyadmin -> /usr/share/phpmyadmin
    lrwxrwxrwx 1 caiknife caiknife  21 10月 12 18:27 pma -> /usr/share/phpmyadmin

    之后直接访问子目录就可以了。
    更新

    按照题主的思路,我做了下面这个配置:

    location /p {
        root /usr/share/phpmyadmin;
        index index.php;
    }
    
    location ~ ^/p/.*\.(php|php5)$ {                  
        root /usr/share/phpmyadmin;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    } 

    重启 nginx 后,访问 http://localhost:81/p , 得到了 404 页面。我的 nginx 端口监听的是 81 ,80端口留给了 apache 。

    为什么会报错 404 ?看一下错误日志:

    2015/12/13 23:17:55 [error] 5276#0: *1 open() "/usr/share/phpmyadmin/p" failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: "GET /p HTTP/1.1", host: "localhost:81"

    从 log 中看出,你重写了 root 之后,访问 phpmyadmin 的子目录时,实际上访问的物理路径是 DOCUMENT_ROOT + 'phpmyadmin'

    OK,那么我再建立一个软链接吧。

    $ sudo ln -s /usr/share/phpmyadmin/ /usr/share/phpmyadmin/p

    现在访问正常了。

    2019-07-17 19:40:49
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载