nginx 中的 phpmyadmin 404 错误

问题描述 投票:0回答:3

我已经通过

ppa
在我的 Ubuntu 机器上安装了 phpmyadmin,但是当尝试访问 localhost/phpmyadmin 时出现 404 错误

服务器是nginx

location /phpmyadmin{
            index index.php;
            root /usr/share/phpmyadmin/;
          }   
     location ~ \.php$ {
    include snippets/fastcgi-php.conf;

     fastcgi_pass unix:/run/php/php7.0-fpm.sock;
         #fastcgi_index index.php;
         include fastcgi_params;
}

发现了很多与此问题相关的问题,但没有解决我的问题

php mysql nginx phpmyadmin
3个回答
4
投票

该指南中创建的符号链接指向

/usr/share/nginx/www
,而您的
root
指令则指向另一个目录。除非您指定另一个位置块,否则 NGINX 在技术上并不知道该目录存在,也不知道将传入请求路由到哪里。

首先,通过运行删除刚刚创建的符号链接:

rm -rf /usr/share/nginx/www

这不会删除 phpMyAdmin,它只会删除符号链接。现在我们将使用以下命令创建一个新的:

sudo ln -s /usr/share/phpmyadmin/ /var/www/html/phpmyadmin

由于您已将

root
设置为
/var/www/html
,因此这就是您的服务器块使用的“主”目录或
root
路径。上述命令的作用是创建一个从 phpMyAdmin 文件所在位置到根目录的符号链接。

一旦出现新的符号链接,您应该能够通过运行来确认:

ls -al /var/www/html

这应该会产生如下所示的结果:

lrwxrwxrwx 1 root root   22 Apr  4 14:31 phpmyadmin -> /usr/share/phpmyadmin/

这意味着符号链接是有效的,现在当您访问时应该可以工作:

http://IP_ADDR/phpmyadmin

其中 IP_ADDR 是您的 IP 地址。


0
投票

您的

root
未正确配置。

root
在添加位置之前设置路径。

<root> + <location>

location /phpmyadmin{
        index index.php;
        root /usr/share/phpmyadmin/;
      }

这导致

/usr/share/phpmyadmin/phpmyadmin/

你想要的是:

location /phpmyadmin{
        index index.php;
        root /usr/share/;
      }

0
投票

我尝试了这个,但不起作用

我从 NGINX 永久收到 404 Not Found

© www.soinside.com 2019 - 2024. All rights reserved.