What are the permssions of /var/log and /var/log/httpd? Thank you, Micah Gersten onShore Networks Internal Developer http://www.onshore.com sean greenslade wrote: > Yeah, but it wouldn't read access_log.tmp, which wasn't being written to at > the time of loading. I think the whole logs folder is restricted from php > access. > > On Fri, Aug 22, 2008 at 10:13 AM, Ashley Sheridan > <ash@xxxxxxxxxxxxxxxxxxxx>wrote: > > >> The log file was in the process of being written to as you were trying to >> read it. It's a bit like trying to look at a quark. By doing so, you've >> already affected its position. Although, unlike a quark, you can create a >> copy of the log file ;) >> >> Ash >> www.ashleysheridan.co.uk >> >> >> ---------- Forwarded message ---------- >> From: "sean greenslade" <zootboysean@xxxxxxxxx> >> To: php-general@xxxxxxxxxxxxx >> Date: Fri, 22 Aug 2008 10:04:07 -0400 >> Subject: Re: Fwd: php not reading file properly >> Yeah, I tried changing the perms, and that didn't work. I originally made >> the cron job put the temp copy in the same logs folder, but it refused to >> open that. I changed it to put the temp copy in the web folder, and it can >> read that. I think apache and/or php may have certain restrictions that >> keep >> them from accessing important system folders. >> >> On Fri, Aug 22, 2008 at 3:09 AM, Ashley Sheridan >> <ash@xxxxxxxxxxxxxxxxxxxx>wrote: >> >> >>> You can change the permissions on the file, which I believe you said you >>> did. If that didn't work, it must be because you are trying to read from >>> the file at the very same instant that Apache is writing to it logging >>> that you are trying to access it, if that makes sense? >>> >>> Ash >>> www.ashleysheridan.co.uk >>> >>> >>> ---------- Forwarded message ---------- >>> From: "sean greenslade" <zootboysean@xxxxxxxxx> >>> To: php-general@xxxxxxxxxxxxx >>> Date: Fri, 22 Aug 2008 02:31:47 -0400 >>> Subject: Re: Fwd: php not reading file properly >>> So I made a cron jop to copy the log to the web folder every 5 minutes. >>> That >>> worked fine. It seems that php can't read the /var/log/httpd folder >>> >> without >> >>> root perms. >>> >>> On Wed, Aug 20, 2008 at 7:53 PM, Ashley Sheridan >>> <ash@xxxxxxxxxxxxxxxxxxxx>wrote: >>> >>> >>>> Yeah, Apache is still running, but it is the access log you are trying >>>> to read, at the same time that you are Apache is being accessed. >>>> Accessing the log from the terminal will be fine while Apache is >>>> running, as it is unlikely it is being accessed at the very same >>>> instant. Are you able to access other files? Also, have you tried >>>> copying the file to another temporary version from within PHP an >>>> accessing that? If that doesn't work, try executing a Bash script that >>>> copies it someplace. Make sure to run the script in the background, and >>>> maybe add a sleep period to it so that it doesn't interfere with Apache >>>> accessing things. >>>> >>>> Ash >>>> www.ashleysheridan.co.uk >>>> >>>> >>>> ---------- Forwarded message ---------- >>>> From: "sean greenslade" <zootboysean@xxxxxxxxx> >>>> To: "Micah Gersten" <micah@xxxxxxxxxxx> >>>> Date: Wed, 20 Aug 2008 19:41:54 -0400 >>>> Subject: Re: Fwd: php not reading file properly >>>> Ashley Sheridan wrote: >>>> >>>> >>>>> As it's the Apache access log that you are trying to read in, are you >>>>> >>> sure >>> >>>> that Apache is >not in the process of writing to it as you are >>>> attempting to read from it? That might explain >why it seems to be >>>> >>> empty, >>> >>>> although I would have thought it would just append the data to >the end >>>> >>> of >>> >>>> the file, rather than rewriting the whole thing. >>>> >>>> I dunno. Like I said, I can read it thru the terminal. Apache is still >>>> running then. >>>> >>>> As for Micah's response, that function won't work either. >>>> >>>> On Wed, Aug 20, 2008 at 7:34 PM, Micah Gersten <micah@xxxxxxxxxxx> >>>> >>> wrote: >>> >>>>> If the directory above it doesn't have execute privileges, it won't >>>>> >> be >> >>>>> able to read it either. >>>>> Also, why not use the PHP5 function file_get_contents()? >>>>> >>>>> Thank you, >>>>> Micah Gersten >>>>> onShore Networks >>>>> Internal Developer >>>>> http://www.onshore.com >>>>> >>>>> >>>>> >>>>> sean greenslade wrote: >>>>> >>>>>> Thanks for the advice. I changed the perms to 777 and changed the >>>>>> >>> user >>> >>>>> and >>>>> >>>>>> group to apache, but it still won't open. >>>>>> >>>>>> >>>>>> On Wed, Aug 20, 2008 at 3:35 PM, Robbert van Andel < >>>>>> >>>>> swimmer1974@xxxxxxxxx>wrote: >>>>> >>>>>> >>>>>>> Does the user your PHP instance runs as have access to the file? >>>>>>> >>> It's >>> >>>>>>> possible that it runs under a different users depending on if >>>>>>> >> you're >> >>>>> running >>>>> >>>>>>> the script on the terminal or in a web browser. The function >>>>>>> >> fopen >> >>>> will >>>> >>>>>>> return false if the file fails to open. Find out if $fh is equal >>>>>>> >> to >> >>>>> false. >>>>> >>>>>>> While you're debugging, you might consider changing the display >>>>>>> >>> errors >>> >>>>>>> setting to see what warning fopen generates if the file fails to >>>>>>> >>> open. >>> >>>>> From >>>>> >>>>>>> http://us.php.net/fopen >>>>>>> Errors/Exceptions >>>>>>> >>>>>>> If the open fails, the function an error of level *E_WARNING* is >>>>>>> generated. You may use @< >>>>>>> >>>>> http://us.php.net/manual/en/language.operators.errorcontrol.php>to >>>>> suppress this warning. >>>>> >>>>>>> On Wed, Aug 20, 2008 at 12:15 PM, sean greenslade < >>>>>>> >>>>> zootboysean@xxxxxxxxx>wrote: >>>>> >>>>>>> >>>>>>>> I have this snippet of code that is supposed to read the apache >>>>>>>> >>>> access >>>> >>>>> log >>>>> >>>>>>>> and display it: >>>>>>>> <?php >>>>>>>> $myFile = "/var/log/httpd/access_log"; >>>>>>>> $fh = fopen($myFile, 'r'); >>>>>>>> $theData = fread($fh, filesize($myFile)); >>>>>>>> fclose($fh); >>>>>>>> echo >>>>>>>> "This weeks apache log (clears every sunday morning):". >>>>>>>> substr($theData,0,2000); >>>>>>>> ?> >>>>>>>> For some reason, it displays the logs when I run the php file >>>>>>>> >> thru >> >>>>>>>> terminal: >>>>>>>> php -f /web/apache.php >>>>>>>> >>>>>>>> but not when I access it thru the web. when I browse to it, it >>>>>>>> >> just >> >>>>>>>> displays >>>>>>>> the static text ("This weeks apache log (clears every sunday >>>>>>>> >>>>> morning):"), >>>>> >>>>>>>> not the log text. >>>>>>>> >>>>>>>> Very confused, >>>>>>>> zootboy >>>>>>>> >>>>>>>> >>>>>>>> >>>>>> >>>>>> >>>> >>>> -- >>>> Feh. >>>> >>>> >>>> >>> -- >>> Feh. >>> >>> >>> >> -- >> Feh. >> >> >> > > > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php