Edit report at http://bugs.php.net/bug.php?id=53603&edit=1
ID: 53603 Updated by: cataphr...@php.net Reported by: brad dot froehle at gmail dot com Summary: ZipArchive should quiet stat errors Status: Open Type: Bug Package: Zip Related Operating System: OS X 10.6 PHP Version: 5.3.4 Block user comment: N Private report: N New Comment: Fixed in SVN, but you should probably also fix the url_stat of the stream wrapper to not emit messages when a file doesn't exist (since this is the behavior with the plain wrapper). Previous Comments: ------------------------------------------------------------------------ [2010-12-24 23:38:38] cataphr...@php.net Automatic comment from SVN on behalf of cataphract Revision: http://svn.php.net/viewvc/?view=revision&revision=306627 Log: - Fixed bug #53603 (ZipArchive should quiet stat errors). #It is unclear if url_stat handlers should emit a warning in case #PHP_STREAM_URL_STAT_QUIET is not specified and the resource does #not exist. Most url_stat handlers never emit messages; the plain #one does only so in the extraordinary event of an open_basedir #restriction. #But in case, php_stat uses PHP_STREAM_URL_STAT_QUIET for the #FS_EXISTS, which suggests that mere checks on file existence are #supposed to use this flag (arguably). #The downside is that important diagnostic messages might be #omitted. ------------------------------------------------------------------------ [2010-12-24 10:06:26] brad dot froehle at gmail dot com Description: ------------ ZipArchive::php_zip_extract_file and ZipArchive::extractTo call php_stream_stat_path to determine if a specific directory exists. Since it doesn't set STREAM_URL_STAT_QUIET, warnings may be emitted in the stream's implementation of url_stat. Because we are only checking for the existence of a directory, these warnings should be silenced. Test script: --------------- See http://drupal.org/node/1006302#comment-3864102 Warnings are emitted in a stream's implementation of url_stat when called from ZipArchive::extractTo. Expected result: ---------------- No warnings should appear. Actual result: -------------- Backtrace of PHP warnings. Only the two calls are shown. Array ( [function] => url_stat [class] => DrupalLocalStreamWrapper [object] => DrupalTemporaryStreamWrapper Object ( [context] => [handle] => [uri:protected] => temporary://update-extraction/apachesolr/ ) [type] => -> [args] => Array ( [0] => temporary://update-extraction/apachesolr/ [1] => 0 ) ) Array ( [file] => /Applications/MAMP/htdocs/drupal/modules/system/system.archiver.inc [line] => 113 [function] => extractTo [class] => ZipArchive [object] => ZipArchive Object ( [status] => 0 [statusSys] => 0 [numFiles] => 41 [filename] => /Applications/MAMP/tmp/php/update-cache/apachesolr- 7.x-1.x-dev.zip [comment] => ) [type] => -> [args] => Array ( [0] => temporary://update-extraction ) ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=53603&edit=1