"no input file specified" 在 nginx 上使用 php7-fpm

"no input file specified" with php7-fpm on nginx

我是 nginx 的新手,正在安装 phpmyadmin。我在使用 Debian stretch 发行版。我在尝试访问 /phpmyadmin 时遇到的 no input file specified 错误在 Whosebug 上反复出现,但它们似乎都是较旧的帖子。试图从网络上的许多不同建议中拼凑出正确的配置一直是一场噩梦。我尝试了一些提到的解决方案,但 none 对我有用。这是我的完整配置文件:

server {
  gzip on;
  gzip_types text/plain text/html text/css application/javascript;

  root /home/me/projects/MyApp/public;
  location / {
      try_files $uri @proxy;
      expires max;
  }
  location @proxy {
      proxy_set_header Host $http_host;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_pass http://localhost:5000;

  }

  location /phpmyadmin {
    alias /usr/share/nginx/html/phpmyadmin;
    index index.php index.html;
      include snippets/fastcgi-php.conf;
      fastcgi_pass unix:/run/php/php7.0-fpm.sock;
      location ~ /\.ht {
        deny all;
      }
  }
}

好的,这是我的配置文件中至少可以与 phpmyadmin 一起使用的部分(我不能保证它是安全的):

  location /phpmyadmin/ {
    alias /usr/share/nginx/html/phpmyadmin/;
    index index.php index.html;

    location ~* \.php$ {
      include /etc/nginx/fastcgi_params;
      fastcgi_param SCRIPT_FILENAME $request_filename;
      fastcgi_pass unix:/run/php/php7.0-fpm.sock;
      location ~ /\.ht {
        deny all;
      }
    }

我还必须在我的 php.ini 文件中注释掉我根据一些在线教程的建议取消注释的一行:

cgi.fix_pathinfo=0

;cgi.fix_pathinfo=0