php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #23393 Archive_Tar::createModify can't handle paths with spaces
Submitted: 2003-04-28 21:01 UTC Modified: 2003-06-04 00:21 UTC
From: greg at chiaraquartet dot net Assigned: imajes (profile)
Status: Closed Package: PEAR related
PHP Version: 4.3.2 OS: Windows XP
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
18 + 22 = ?
Subscribe to this entry?

 
 [2003-04-28 21:01 UTC] greg at chiaraquartet dot net
Here's the webpage contents:

Upload New Release
Upload a new package distribution file built using `pear package' here. The information from your package.xml file will be displayed on the next screen for verification. The maximum file size is 16 MB.
Uploading new releases is restricted to each package's lead developer(s).

  Upload Error: E_FAIL_MOVE


phpDocumentor 1.2.0rc2 is at http://www.phpdoc.org/~CelloG/PhpDocumentor-1.2.0rc2.tgz

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-04-29 01:19 UTC] arnaud@php.net
I guess this one is for martin :)
 [2003-05-02 23:04 UTC] greg at chiaraquartet dot net
The E_FAIL_MOVE error is raised in only one spot in all of PEAR, and that is in HTTP_Upload.  Here is the exact code causing the problem.

        // Copy the file and let php clean the tmp
        if (!@copy($this->upload['tmp_name'], $name_dest)) {
            return $this->raiseError('E_FAIL_MOVE');
        }
        @chmod($name_dest, 0660);
        return $this->getProp('name');
    }

I'd really appreciate having this bug fixed, I can't upload phpDocumentor releasese until it is fixed.

Thanks,
Greg
 [2003-05-03 01:53 UTC] alan_k@php.net
Looks like a config  problem on the server - probably write access needs enabling the target directory..
James is probably the one to sort this out (not that he's got enought todo :)..

Anyone know which directory the file is supposed to go to?  

 [2003-05-11 01:28 UTC] mj@php.net
Can you please try to upload it again? There have been numerous new uploads showing that the upload generally works.
 [2003-05-11 15:11 UTC] greg at chiaraquartet dot net
verified, it still gives the same error.

The tgz is available at http://www.phpdoc.org/~CelloG/PhpDocumentor-1.2.0rc2.tgz
 [2003-05-17 09:09 UTC] greg at chiaraquartet dot net
Hello,

Although upload generally works, it specifically does not work for phpDocumentor 1.2.0rc2.  Any chance of searching for the problem?  Perhaps there is a file size limit that is less than  the size of PhpDocumentor-1.2.0.tgz?  Make sure the php.ini setting for max file upload size is indeed 16MB as is claimed, and then perhaps verify that the copy() command can copy large enough files on the platform, this might be a PHP bug and not a PEAR bug, which should be fixed in the release of 4.3.2

Thanks,
Greg
 [2003-05-31 13:52 UTC] greg at chiaraquartet dot net
not to be annoying, but this bug is a month old, and we are now ready for phpDocumentor 1.2.0 FINAL, the stable release.

This is a show-stopper for users of phpDocumentor, they will no longer be able to rely on PEAR for the latest release.

Greg
 [2003-06-02 02:34 UTC] greg at chiaraquartet dot net
solution found!

I only had to install linux, compile php, apache, checkout pearweb from cvs, troubleshoot mysql, and then I was able to both replicate the bug and solve it.  The solution is STAGGERINGLY simple :)

It doesn't even involve coding.

php.ini has 2 settings for uploads, and BOTH must be at 16 MB or file uploads will fail (this is *not* a HTTP_Upload bug, except that HTTP_Upload should check to see if the size and tmpname parameters are set in $_FILES and raise an error saying php.ini settings are too low for file size, or file too big, and quote the max allowed size).  Here's the settings that must be changed:

upload_max_filesize = 16M
post_max_size = 16M

I had post_max_size = 8M and it still gave me E_FAIL_MOVE.  When I changed it to 16, voila, everything worked!

Please change this asap (since it is so easy), and I'll upload a release of phpDocumentor.

Greg
 [2003-06-03 19:39 UTC] imajes@php.net
should be fixed now, but Greg... 16mb is a bit huge.. what the hell have you got in that package?
 [2003-06-03 21:35 UTC] cox at idecnet dot com
Note the TODO inside the HTTP_Upload code:

* TODO:
* - addapt the class to new upload features of the 4.2 (?) release
*   (the new error entry in HTTP_POST_FILES)

The class was coded under 4.1, and the PHP upload code changed since that, working with some differences. It has to be updated because it indeed doesn't match the correct error message.
 [2003-06-04 00:21 UTC] greg at chiaraquartet dot net
phpDocumentor is about 2.1MB.  16 MB is just the documented limit of file size.  If that is too big, it should simply state a different number on the webpage.

Thanks for fixing this, I'll do the upload tomorrow or the next day, we are verifying that everything is OK with the switch from GPL to PHP license

Greg
 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Sat Nov 27 15:03:28 2021 UTC