• Hi, Pleskians! We are running a UX testing of our upcoming product intended for server management and monitoring.
    We would like to invite you to have a call with us and have some fun checking our prototype. The agenda is pretty simple - we bring new design and some scenarios that you need to walk through and succeed. We will be watching and taking insights for further development of the design.
    If you would like to participate, please use this link to book a meeting. We will sent the link to the clickable prototype at the meeting.
  • Our UX team believes in the in the power of direct feedback and would like to invite you to participate in interviews, tests, and surveys.
    To stay in the loop and never miss an opportunity to share your thoughts, please subscribe to our UX research program. If you were previously part of the Plesk UX research program, please re-subscribe to continue receiving our invitations.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.

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