Re: using fopen() in write mode is failing



On May 30, 4:26 pm, Jerry Stuckle <jstuck...@xxxxxxxxxxxxx> wrote:
cscor...@xxxxxxxxx wrote:
On May 30, 3:13 pm, Gordon <gordon.mc...@xxxxxxxxxxxx> wrote:
On May 30, 9:08 pm, cscor...@xxxxxxxxx wrote:

For some reason, I cannot use fopen() on the file in write mode. The
file "time" is in the same directory as the .php file, with
permissions set to 0766.
PHP Version 5.2.5
Apache/2.2.8
code snip in question:
$file = "time";
function updateParseTime($name){
global $file;
if (file_exists($name) && file_exists($file)) {
if(($fp = fopen($file,"wb"))){
$lastmod = filemtime($name);
if(!(fwrite($fp, $lastmod))){
echo "cannot update time";
}
}
else{
echo "$file cannot be opened. \n";
}
}
else{
echo "$name or $file not found.";
}
}
on the 4th line it fails the if check ($fp = fopen...) and just
outputs "$file cannot be opened"
Am I missing something?
Is error reporting on? If it is then PHP will echo out its own error
message in addition to yours. Did you originally create the file
you're trying to write to or was it created via a PHP script? If the
former is the case then it will have you as the owner. PHP runs as the
webserver's user (something like www or apache or nobody, assuming
you're using PHP in a webserver environment). This will mean a
permission denied error occurs when you try to open the file. Try
setting the file to 666 chmod, or chown it to the Apache process's
user.

I 'touch'ed the file on the server itself, so yes its owned by my
user. I've attempted to chown+chgrp the file to apache's, but it
doesn't help at all. The file is already chmod'ed to 0766.

After turning on error reporting, it outputs this:

"Warning: fopen(time) [function.fopen]: failed to open stream:
Permission denied in /var/www/html/xmlparser.php on line 53"

with line 53 being the $fp = fopen().. line.

What's in $file at the time you try to call fopen()? And why do you
have the file set as executable by the owner?

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstuck...@xxxxxxxxxxxxx
==================

The file named "time" is (sans quotations of course) in $file. The
time file itself is blank.

It was just set for rwx when I touched the file, so i just kept it and
added write permissions to the file for other users. I've changed it
to 0666 but it doesn't seem to affect anything.
.



Relevant Pages

  • Re: Permissions
    ... It turns out that some scripts required higher ... permissions that others, but I can't figure out what the difference is. ... PHP exec or from shell commands need execute privilege. ... Apache with suexec: your CGIs run as the same user as the ...
    (comp.lang.php)
  • Permissions problem on RHEL 4
    ... permissions issue that's popping up in using PHP. ... I've verified, in looking at httpd.conf, that Apache is running as ... to see if there were a permissions issue more directly. ... account is /sbin/nologin. ...
    (comp.os.linux.misc)
  • Re: Permissions problem on RHEL 4
    ... I'm running RedHat Enterprise Linux 4 and am running into a strange permissions issue that's popping up in using PHP. ... I've tried asking at some of the PHP newsgroups, and the experts over there suggested that it sounded like an admin problem, so I'm hoping that someone here might have some ideas. ... I've verified, in looking at httpd.conf, that Apache is running as user "apache" and group "apache", so I assume/believe that PHP would use that same user when it runs. ... the home directory for the apache account is /sbin/nologin. ...
    (comp.os.linux.misc)
  • Re: write with cURL
    ... offers PHP, if they don't allow PHP to open and write ... Check the permissions on the directory the file is ... such as chmod 0666 test.txt ... their server configuration is, too, though. ...
    (alt.php)
  • Re: Shouldnt a file I create default to being owned by me?
    ... However the user that apache runs as ... The other thing is that since this is a php file, ... filesystem level execute permissions. ... directory and view from within FireFox, ...
    (Ubuntu)