ID: 41446 Updated by: [EMAIL PROTECTED] Reported By: robertn at the-nelsons dot org -Status: Open +Status: Feedback Bug Type: CGI related Operating System: Linux PHP Version: 5.2.2 New Comment:
I've tried to reproduce the problem, but it seems to be working fine as is. Can you show me output of $_SERVER from a working path info request? Previous Comments: ------------------------------------------------------------------------ [2007-05-20 22:46:06] robertn at the-nelsons dot org Apache/2.0.54 (Unix) PHP/4.4.4 mod_ssl/2.0.54 OpenSSL/0.9.7e mod_fastcgi/2.4.2 DAV/2 SVN/1.4.2 ------------------------------------------------------------------------ [2007-05-20 16:06:10] [EMAIL PROTECTED] What web server are you using? ------------------------------------------------------------------------ [2007-05-20 02:09:25] robertn at the-nelsons dot org This bug happens because tsrm_realpath() strips any trailing slashes before resolving the realpath. The fix is to change the code in sapi/cgi/cgi_main.c at line 799. From: if (script_path_translated && (real_path = tsrm_realpath(script_path_translated, NULL TSRMLS_CC)) == NULL) { to: if (script_path_translated && (script_path_translated[strlen(script_path_translated) - 1] == '/' || script_path_translated[strlen(script_path_translated) - 1] == '\\' || (real_path = tsrm_realpath(script_path_translated, NULL TSRMLS_CC)) == NULL)) { This isn't the most efficient fix but best illustrates the solution. ------------------------------------------------------------------------ [2007-05-20 01:27:15] robertn at the-nelsons dot org Description: ------------ If the path info contains just a slash then php returns the "No input file specified." error. Reproduce code: --------------- 1) create a phpinfo.php file with "<?php print phpinfo(); ?>" 2) View the page in the browser to make sure it works. 3) Append a / to the url and view the page again. A 404 error with the "No input file specified." is returned. 4) Append a /x to the original url and view the page again. This time it works and PATH_INFO is correctly set to "/x". Expected result: ---------------- If just a "/" is specified then PATH_INFO should be "/" Actual result: -------------- 404 No input file specified ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41446&edit=1