• The APS Catalog has been deprecated and removed from all Plesk Obsidian versions.
    Applications already installed from the APS Catalog will continue working. However, Plesk will no longer provide support for APS applications.
  • Please be aware: with the Plesk Obsidian 18.0.78 release, the support for the ngx_pagespeed.so module will be deprecated and removed from the sw-nginx package.

Resolved "FPM application served by nginx" results in empty PATH_INFO

lukas_we

New Pleskian
Hello,

I have a server using the "FPM application served by nginx" option, but this results in an empty $_SERVER['PATH_INFO'] variable. The bug comes from the file located at the following position on my server:
/opt/psa/admin/conf/templates/default/domain/service/fpm.php

In that file, fastcgi_split_path_info is used set the $fastcgi_path_info variable, which is subsequently used to pass the path info to the fpm application via:
Code:
fastcgi_param PATH_INFO $fastcgi_path_info
However, between invoking fastcgi_split_path_info and fastcgi_param, try_files is called. This sets $fastcgi_path_info to an empty string (see #321 (try_files & $fastcgi_path_info) – nginx) with the effect, that the real path info never gets passed to the fpm application.

The following patch fixes the problem:
Code:
@@ -5,8 +5,9 @@
  */
 ?>
         fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
+        set $path_info $fastcgi_path_info;
         try_files $uri $fastcgi_script_name =404;
-        fastcgi_param PATH_INFO $fastcgi_path_info;
+        fastcgi_param PATH_INFO $path_info;
         fastcgi_pass "<?php echo $VAR->domain->physicalHosting->fpmSocket ?>";
         include /etc/nginx/fastcgi.conf;

Best regards,
Lukas
 
Back
Top