Re: Fwd: php not reading file properly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The cron job only runs every 5 minutes, so not likely

On Fri, Aug 22, 2008 at 10:22 AM, Ashley Sheridan
<ash@xxxxxxxxxxxxxxxxxxxx>wrote:

>  Are you sure they are both not accessed at around about the same time?
> Look at the timestamps. The only analysis I've ever done with logs has been
> offline, so I've not run into this problem before.
>
>   Ash
> www.ashleysheridan.co.uk
>
>
> ---------- Forwarded message ----------
> From: "sean greenslade" <zootboysean@xxxxxxxxx>
> To: ash@xxxxxxxxxxxxxxxxxxxx
> Date: Fri, 22 Aug 2008 10:13:37 -0400
> Subject: Re: Fwd:  php not reading file properly
> 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.
>>
>>
>
>
> --
> Feh.
>
>


-- 
Feh.

[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux