• Plesk Uservoice will be deprecated by October. Moving forward, all product feature requests and improvement suggestions will be managed through our new platform Plesk Productboard.
    To continue sharing your ideas and feedback, please visit features.plesk.com

Issue "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
 
  • Like
Reactions: mow
Back
Top