带有 nginx 的 debian 上的 phpmyadmin

phpmyadmin on debian with nginx

我正在尝试将 Deabian 的 phpmyadmin 包与 nginx 一起使用。在教程中,他们从虚拟主机创建指向 phpmyadmin 源文件的符号链接,如下所示:

$ln -s /usr/share/phpmyadmin/ /var/www/host.com/phpmyadmin

我认为我的第一个问题是,nginx 运行 在 nobody 用户下,但 phpmyadmin 文件的所有者是 root。我试图将所有者更改为 nginx 用户,但没有帮助。第二个问题可能是符号链接的使用,所以我尝试启用 nginx 以遵循符号链接:

disable_symlinks off;

也没有用。服务器仍在返回

No input file specified.

当我尝试查看 phpmyadmin 索引时。 http 请求生成此错误:

2015/05/12 02:07:02 [error] 4017#0: *35 FastCGI sent in stderr: "Unable to open primary script: /var/www/host.com/phpmyadmin/index.php (Operation not permitted)" while reading response header from upstream

我做错了什么?什么是使其能够通过 apt-get 升级 phpmyadmin 的正确方法?谢谢

如果您使用包管理器,则不应自行创建 link 或更改用户 -- 包管理器应正确处理设置权限和别名。

我建议撤消您在 shell/command 行中 运行 dpkg-reconfigure --plow phpmyadmin 所做的操作,以强制 apt/dpkg 重新配置程序包。确保在提示使用哪个网络服务器的屏幕中 select nginx。

终于找到解决办法了。我忘记将 phpmyadmin 目录添加到 PHP open_basedir。现在一切正常。感谢所有用户的建议。