<email>helly@php.net</email>
<active>yes</active>
</lead>
- <date>2008-03-26</date>
- <time>00:20:32</time>
+ <date>2008-03-27</date>
+ <time>01:38:33</time>
<version>
- <release>2.0.0a1</release>
+ <release>2.0.0a2</release>
<api>1.1.1</api>
</version>
<stability>
* implement Phar::mount() for mounting external paths or files to locations inside a phar [Greg]
* add Phar::delete() [Greg]
+Changes since 2.0.0a1: fix build in PHP 5.2
+
</notes>
<contents>
<dir baseinstalldir="/" name="/">
<changelog>
<release>
<version>
- <release>2.0.0a1</release>
+ <release>2.0.0a2</release>
<api>1.1.1</api>
</version>
<stability>
<release>alpha</release>
<api>alpha</api>
</stability>
- <date>2008-03-26</date>
+ <date>2008-03-27</date>
<license uri="http://www.php.net/license">PHP License</license>
<notes>
* implement Phar::mount() for mounting external paths or files to locations inside a phar [Greg]
* add Phar::delete() [Greg]
+Changes since 2.0.0a1: fix build in PHP 5.2
+
</notes>
</release>
+ <release>
+ <version>
+ <release>2.0.0a1</release>
+ <api>1.1.1</api>
+ </version>
+ <stability>
+ <release>alpha</release>
+ <api>alpha</api>
+ </stability>
+ <date>2008-03-26</date>
+ <license uri="http://www.php.net/license">PHP License</license>
+ <notes>Major feature functionality release
+ * new default stub allows running of phar-based phars without phar extension [Greg/Steph]
+ * add support for tar-based and zip-based phar archives [Greg]
+ * add Phar::isTar(), Phar::isZip(), and Phar::isPhar() [Greg]
+ * add Phar::convertToTar(), Phar::convertToZip(), and Phar::convertToPhar() [Greg]
+ * add Phar::compress() [Greg]
+ * conversion to compressed or to other file formats automatically copies the archive
+ to a new extension (i.e. ".phar" to ".phar.tar" or ".tar" to ".tar.gz") [Steph]
+ * add Phar::webPhar() for running a web-based application unmodified
+ directly from a phar archive [Greg]
+ * file functions (fopen-based and stat-based) can be instructed to only look for
+ relative paths within a phar via Phar::interceptFileFuncs()
+ * add PharData class to allow manipulation/creation of non-executable tar and zip archives. [Steph]
+ non-executable tar/zip manipulation is allowed even when phar.readonly=1 [Greg]
+ * paths with . and .. work (phar://blah.phar/a/../b.php => phar://blah.phar/b.php) [Greg]
+ * add support for mkdir()/rmdir() and support for empty directories to phar file format [Greg]
+ * add option to compress the entire phar file for phar/tar file format [Greg]
+ * implement Phar::isCompressed() returning 0, Phar::GZ or Phar::BZ2 [Greg]
+ * implement Phar::copy(string $from, string $to) [Greg]
+ * implement Phar::buildFromIterator(Iterator $it[, string $base_directory]) [Greg]
+ * implement Phar::mount() for mounting external paths or files to locations inside a phar [Greg]
+ * add Phar::delete() [Greg]</notes>
+ </release>
<release>
<version>
<release>1.2.1</release>
phar_archive_data *pphar = NULL;
/* retrieving an include within the current directory, so use this if possible */
if (SUCCESS == (zend_hash_find(&(PHAR_GLOBALS->phar_fname_map), arch, arch_len, (void **) &pphar))) {
- if (!(entry = phar_find_in_include_path(entry, entry_len, &phar TSRMLS_CC))) {
+ if (!(entry = phar_find_in_include_path(entry, entry_len, &pphar TSRMLS_CC))) {
/* this file is not in the phar, use the original path */
if (SUCCESS == phar_orig_zend_open(filename, handle TSRMLS_CC)) {
- if (SUCCESS == phar_mount_entry(phar, handle->opened_path ? handle->opened_path : (char *) filename, strlen(handle->opened_path ? handle->opened_path : filename), (char *) filename, strlen(filename) TSRMLS_CC)) {
+ if (SUCCESS == phar_mount_entry(pphar, handle->opened_path ? handle->opened_path : (char *) filename, strlen(handle->opened_path ? handle->opened_path : filename), (char *) filename, strlen(filename) TSRMLS_CC)) {
if (handle->opened_path) {
efree(handle->opened_path);
}