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.