Skip to content

Instantly share code, notes, and snippets.

@pbowyer
Last active August 29, 2015 14:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pbowyer/bba54cbf01cf6b250c71 to your computer and use it in GitHub Desktop.
Save pbowyer/bba54cbf01cf6b250c71 to your computer and use it in GitHub Desktop.
Test case for PHP bug #67541
# /var/www/example.com/web/.htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [L]
# /etc/apache2/sites-enabled/example.conf
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/example.com/web
ErrorLog /var/www/example.com/logs/error.log
LogLevel warn rewrite:trace3
CustomLog /var/www/example.com/logs/access.log combined
<Directory /var/www/example.com/web>
AllowOverride All
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9301/"
</FilesMatch>
</VirtualHost>
<?php
// /var/www/example.com/web/index.php
error_reporting(E_ALL ^ E_NOTICE);
echo "PHP Version: ".phpversion() ."<br>";
echo("ORIG_SCRIPT_NAME: " . $_SERVER['ORIG_SCRIPT_NAME']);
echo('<br/>');
echo("SCRIPT_NAME: " . $_SERVER['SCRIPT_NAME']);
echo('<br/>');
echo("ORIG_SCRIPT_FILENAME: " . $_SERVER['ORIG_SCRIPT_FILENAME']);
echo('<br/>');
echo("SCRIPT_FILENAME: " . $_SERVER['SCRIPT_FILENAME']);
echo('<br/>');
echo("PATH_INFO: " . $_SERVER['PATH_INFO']);
echo('<br/>');
echo("ORIG_PATH_INFO: " . $_SERVER['ORIG_PATH_INFO']);
echo('<br/>');
?>
<?php #phpinfo() ?>

To run

Set up PHP-FPM as you usually do.

Visit http://www.example.com/sample/test

Expected results

Under PHP 5.6.0RC2:

PHP Version: 5.6.0RC2
ORIG_SCRIPT_NAME: 
SCRIPT_NAME: /index.php
ORIG_SCRIPT_FILENAME: 
SCRIPT_FILENAME: /var/www/example.com/htdocs/index.php
PATH_INFO: /sample/test
ORIG_PATH_INFO: 

Under all previous versions of PHP:

File not found.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment