Author |
|
NiGHtOwL
Joined: 11 Jan 2007 Posts: 14
|
Posted: Fri 12 Jan '07 0:23 Post subject: Apache 2.2.3 PHP 5.2 -> Apache 2.2.4 no SSL - Wrong Date |
|
|
Hi there,
I am running a local testing area on Windows 2000 Pro, Servicepack 4
Currently Apache 2.2.3 Win32 no SSL / PHP 5.2 and all is working fine so far.
Yesterday I downloaded apache_2.2.4-win32-x86-no_ssl.msi.
I did uninstall the 2.2.3 version, and installed the newer version into the same directory as I always did before same way.
Apache 2.2.4 is running, no errors or warnings in the log file to read.
But:
I got a PHP Page reading remote host and date.
I do that with:
Code: |
<? echo $_SERVER['REMOTE_HOST'];?>
<? echo date('d.m.Y H:i:s \h');?>
|
Apache 2.2.4 is showning then: 0.0.0.0 for any remote host and the time is two hrs backwards.
First I thought, I might have made a mistake with PHP 5.2, but as downgraded to 5.1.6 same errors showing. So I uninstalled apache 2.2.4 and went back to 2.2.3. Everything's fine.
I am not so much experienced that I would be able to find where this error might comes from. I tried to find this error via google and searching this forum without a result.
Has anyone got a clue?
If more information is needed I will try to do my best. Sorry for my poor english and I hope I made it understandable what's going on.
Thanks in advance and greetings
NiGHtOwL |
|
Back to top |
|
Steffen Moderator
Joined: 15 Oct 2005 Posts: 3092 Location: Hilversum, NL, EU
|
Posted: Fri 12 Jan '07 0:29 Post subject: |
|
|
Looks like the same issue as described here: http://www.apachelounge.com/viewtopic.php?t=1237
tdonovan knows all about this issue.
It seems that it only happens with 2k, Workaround is to add in your conf Win32DisableAcceptEx
Steffen |
|
Back to top |
|
NiGHtOwL
Joined: 11 Jan 2007 Posts: 14
|
Posted: Fri 12 Jan '07 1:34 Post subject: |
|
|
Thank you, I did so and remote host is displaying right now under Apache 2.2.4.
What still is "wrong" is the time. It is one hour back. I am in the GMT +1 Zone. With Apache 2.2.3 it is fine. Any clue to this?
...and thank you again. You are very helpful.
/Edit
I might add:
the serverlog shows the right time, for example:
***.***.***.*** - - [12/Jan/2007:01:05:00 +0100]
But PHP date is 1 hr back.
for a solution I added +3600, but that is no correct solution.
Code: |
normal:
date('d.m.Y H:i:s \h')
momentary solution:
date('d.m.Y H:i:s \h', time() +3600)
|
|
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7370 Location: Germany, Next to Hamburg
|
|
Back to top |
|
NiGHtOwL
Joined: 11 Jan 2007 Posts: 14
|
Posted: Fri 12 Jan '07 12:31 Post subject: |
|
|
Thanks for your help.
I have to admit that I am totally new to this and I do not understand what they write in the manual. I am sorry, I do not know what to do. I read all this, but I do not understand.
I added (as far as I understood) to the PHP.ini
Code: |
[Date]
; Defines the default timezone used by the date functions
date.timezone = "Europe/Berlin"
|
...still... wrong time, no effect. It should, because there can't be all webpages changed because of a new feature in PHP?
Thanks for your patience |
|
Back to top |
|
tdonovan Moderator
Joined: 17 Dec 2005 Posts: 611 Location: Milford, MA, USA
|
Posted: Fri 12 Jan '07 19:43 Post subject: |
|
|
Hi NiGHtOwL,
I reported the problem with 0.0.0.0 on w2k to the Apache developer list. They decided to ship 2.2.4 with this bug rather than delay the release.
Since I was the only one to report it (and you are the only other person I know who has encountered it...), I guess that was appropriate.
It is already fixed for the next (Apache 2.2.5) release.
I guess there are few of us w2k users left. I'm happy to know there is at least one other w2k/Apache user!
Adding the Win32DisableAcceptEx directive works around the problem at a small cost in performance.
I measured the performance decrease as about -1% on average, and up to -5% for worst-case tests (very small static pages - about 1kb).
I cannot reproduce your time problem on my w2k/Apache 2.2.4 system.
I am in the -5hr (Eastern U.S.) timezone and both Apache 2.2.4 and PHP 5.2.0 show the correct time.
I didn't know that Apache could affect PHP's time calculations. You might try this as a test:In a DOS window, change to your PHP 5.2.0 directory and enter
Quote: | php.exe -r "echo date('d.m.Y H:i:s \h');" | This will show if PHP can display the correct time, independent of Apache. Apache does not even need to be running for this test.
-tom- |
|
Back to top |
|
NiGHtOwL
Joined: 11 Jan 2007 Posts: 14
|
Posted: Fri 12 Jan '07 20:03 Post subject: |
|
|
Thanks for your answer tdonavan. I did as you further suggested and the time shows absolutly right in the command window. I did that two times. With Apache started or closed.
Anyone got an idea? |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7370 Location: Germany, Next to Hamburg
|
Posted: Sat 13 Jan '07 10:51 Post subject: |
|
|
Did you set the correct path for your php.ini in httpd.conf? So that the changes you made take effect. PHPIniDir "C:/php5"
you can check that running a simple php script
Code: |
<?php
phpinfo();
?>
|
|
|
Back to top |
|
NiGHtOwL
Joined: 11 Jan 2007 Posts: 14
|
Posted: Sun 14 Jan '07 2:15 Post subject: |
|
|
Yes, the path is correct an phpinfo.php works fine.
If you need to see it, tell me. I'll paste it then. |
|
Back to top |
|
James Blond Moderator
Joined: 19 Jan 2006 Posts: 7370 Location: Germany, Next to Hamburg
|
Posted: Sun 14 Jan '07 15:14 Post subject: |
|
|
Hm, from that output I only wanted to see if PHP takes the correct path from httpd.conf
Configuration File (php.ini) Path C:\server2\php\php.ini
But that idea seems to failed. I realy tried hard to reproduce that error. But I don't got that. |
|
Back to top |
|
NiGHtOwL
Joined: 11 Jan 2007 Posts: 14
|
Posted: Sun 20 May '07 7:01 Post subject: |
|
|
The problem is finally solved.
I found out that it only exists on the index.php. On all error pages which I did the time is fine.
I am not an expert in PHP, but then I came to the conclusion that there is something wrong with my index.php. The code was just fine, but I required a browsercap php and in there a time (UTC) overwrote the server time. I took out this line and now it works.
Murphy's Law............ at least for me
Thanks to all who tried to help and at least I wanted to leave a note that it is solved now. |
|
Back to top |
|