ID:               14839
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Open
+Status:           Closed
 Bug Type:         Documentation problem
 Operating System: Linux, FreeBSD, Solaris
 PHP Version:      4.0.5
 New Comment:

This bug has been fixed in CVS. You can grab a snapshot of the
CVS version at http://snaps.php.net/. In case this was a documentation 
problem, the fix will show up soon at http://www.php.net/manual/.
In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites.
Thank you for the report, and for helping us make PHP better.




Previous Comments:
------------------------------------------------------------------------

[2002-01-04 13:10:22] [EMAIL PROTECTED]

Valid points .. I reopen this als doc thing.

------------------------------------------------------------------------

[2002-01-04 11:59:30] [EMAIL PROTECTED]

"[EMAIL PROTECTED]" makes it all clear.  I searched all the release
documentation (for all the releases since getcwd() was introduced in
1999) prior to writing this bug for any remarks about this kind of
behavior, but couldn't find anything.

The default behavior for Unix and DOS programs is to run in the CWD, so
programmers tend to expect that of other programs, such as PHP.  As
"[EMAIL PROTECTED]" and "[EMAIL PROTECTED]" pointed out, this may not be the
most desirable behavior for a Web script.  Since it is contrary to what
most programs do, I'd like to request that the documentation of the
startup behavior of PHP be sure to note this behavior, and that the -C
option be documented a bit more boldly -- at least listed in the
release notes.

Thanks.

------------------------------------------------------------------------

[2002-01-04 05:02:27] [EMAIL PROTECTED]

Closing the report.

------------------------------------------------------------------------

[2002-01-04 05:01:54] [EMAIL PROTECTED]

There is nothing wrong with getcwd(). The problem
is that php changes current working directory to 
the script's.

This makes sense if you think of CGI scripts,
but makes no sense if you write command line programs.

That's way a new command line switch (-C) was introduced
in PHP 4.1.0 which prevents PHP from chdir'ing into
script's directory.

So changing the first line of your script to

#!/usr/local/bin/php -qC

(and upgrading to 4.1) should fix the problem.


------------------------------------------------------------------------

[2002-01-04 00:47:58] [EMAIL PROTECTED]

Ok, some comments, if i may.

Firstly, I have verified this behaviour, however (and I could be
wrong), this is not unexpected.

The script executes relavtive to the directory it exists 
within, not the directory you are currently in. 

I can't particularly explain why, but this kind of makes sense. If you
had a script in some unsafe directory, allowing the moving and deleting
of files, and you could run it in a secured directory, in which the php
process had sufficient access, and affect the files there, would that
not present potential security risks?

Anyhow, i could be wrong, so don't take what i said as corret.

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/14839

-- 
Edit this bug report at http://bugs.php.net/?id=14839&edit=1

Reply via email to