> More info: I've discovered an issue with the value returned from the
> $_SERVER['PHP_SELF'] variable. For some reason the value contains the path
> to a particular file concatendated to itself, like this:
> This causes HTTP 404 errors when attempting to process (delete, move, etc)
> displayed messages because the path to the PHP source files ends up being
> invalid. The fix is to replace PHP_SELF with SCRIPT_NAME in the
> functions/strings.php file at line 1514 inside the php_self() function.That
> is, change this:
> if (!sqgetGlobalVar('PHP_SELF', $request_uri, SQ_SERVER)
> to this:
> if (!sqgetGlobalVar('SCRIPT_NAME', $request_uri, SQ_SERVER)
> I entered a bug report in SourceForge
> (https://sourceforge.net/p/squirrelmail/bugs/2829/) that was closed as
> invalid with this comment:
> "While the various CGI variables provided by PHP can seem like a web of
> confusion, they are never given in such incorrect fashion unless you have a
> botched server-side configuration. This problem is not a SquirrelMail
> problem; it is a mistake in your Nginx/FCGI configuration."
> So back to my original question: can someone please help me figure out
> what's broken in my Nginx/FCGI configuration? It's working just fine for
> other services I'm running on the same server, like Drupal.
Make sure you literally looked at the contents of $_SERVER['PHP_SELF']
and not some SquirrelMail interpretation thereof such as $PHP_SELF.
If the former does in fact include that duplicate path, you need to
review your Nginx configuration. Asking for help in the Nginx mailing
list might be more appropriate in that case.