From:             james dot turner dot phpninja at gmail dot com
Operating system: Ubuntu 12
PHP version:      5.3.16
Package:          PHAR related
Bug Type:         Bug
Bug description:Include inside Phar with "./" prefix fails to include correctly

Description:
------------
When including a file from another file within a phar build, that has a ./
prefix, e.g. include_once './my/other/file.php' a "failed to open stream:
No such file or directory in phar" warning is thrown followed by a Fatal
error "PHP Fatal error:  require_once(): Failed opening required
'./my/other/file.php"


The test script below contains 3 files required to produce the same
output.

structure:

.
/src
/src/index.php
/src/includes/bootstrap.php
package.php

Test script:
---------------
// package.php
<?php
if(!file_exists('test.phar')){
    try {
        $phar = new Phar('test.phar');
        $phar->buildFromDirectory('src');
        $phar->setStub($phar->createDefaultStub());
    } catch(PharException $e){
        echo $e->getMessage();
    }
} else {
    require_once ('phar://test.phar');
}


// src/index.php
<?php

require_once './includes/bootstrap.php'


// src/includes/bootstrap.php
<?

echo "hello world";

Expected result:
----------------
hello world

Actual result:
--------------
/usr/bin/php /workspace/PharTest/package.php
PHP Warning:  require_once(./includes/bootstrap.php): failed to open
stream: No such file or directory in
phar:///workspace/PharTest/test.phar/index.php on line 3
PHP Stack trace:
PHP   1. {main}() /workspace/PharTest/package.php:0
PHP   2. require_once() /workspace/PharTest/package.php:12
PHP   3. include() /workspace/PharTest/test.phar:9
PHP Fatal error:  require_once(): Failed opening required
'./includes/bootstrap.php'
(include_path='phar:///workspace/PharTest/test.phar:.:/usr/share/php:/usr/share/pear')
in phar:///workspace/PharTest/test.phar/index.php on line 3
PHP Stack trace:
PHP   1. {main}() /workspace/PharTest/package.php:0
PHP   2. require_once() /workspace/PharTest/package.php:12
PHP   3. include() /workspace/PharTest/test.phar:9

-- 
Edit bug report at https://bugs.php.net/bug.php?id=63028&edit=1
-- 
Try a snapshot (PHP 5.4):            
https://bugs.php.net/fix.php?id=63028&r=trysnapshot54
Try a snapshot (PHP 5.3):            
https://bugs.php.net/fix.php?id=63028&r=trysnapshot53
Try a snapshot (trunk):              
https://bugs.php.net/fix.php?id=63028&r=trysnapshottrunk
Fixed in SVN:                        
https://bugs.php.net/fix.php?id=63028&r=fixed
Fixed in SVN and need be documented: 
https://bugs.php.net/fix.php?id=63028&r=needdocs
Fixed in release:                    
https://bugs.php.net/fix.php?id=63028&r=alreadyfixed
Need backtrace:                      
https://bugs.php.net/fix.php?id=63028&r=needtrace
Need Reproduce Script:               
https://bugs.php.net/fix.php?id=63028&r=needscript
Try newer version:                   
https://bugs.php.net/fix.php?id=63028&r=oldversion
Not developer issue:                 
https://bugs.php.net/fix.php?id=63028&r=support
Expected behavior:                   
https://bugs.php.net/fix.php?id=63028&r=notwrong
Not enough info:                     
https://bugs.php.net/fix.php?id=63028&r=notenoughinfo
Submitted twice:                     
https://bugs.php.net/fix.php?id=63028&r=submittedtwice
register_globals:                    
https://bugs.php.net/fix.php?id=63028&r=globals
PHP 4 support discontinued:          
https://bugs.php.net/fix.php?id=63028&r=php4
Daylight Savings:                    https://bugs.php.net/fix.php?id=63028&r=dst
IIS Stability:                       
https://bugs.php.net/fix.php?id=63028&r=isapi
Install GNU Sed:                     
https://bugs.php.net/fix.php?id=63028&r=gnused
Floating point limitations:          
https://bugs.php.net/fix.php?id=63028&r=float
No Zend Extensions:                  
https://bugs.php.net/fix.php?id=63028&r=nozend
MySQL Configuration Error:           
https://bugs.php.net/fix.php?id=63028&r=mysqlcfg

Reply via email to