我已经通过
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;
}
发现了很多与此问题相关的问题,但没有解决我的问题
该指南中创建的符号链接指向
/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 地址。
您的
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/;
}
我尝试了这个,但不起作用
我从 NGINX 永久收到 404 Not Found