Posted by Jay Blanchard on 01/20/06 16:11
From the offices of "You Ain't Gonna' Beleeeve Dis, Inc."
We barked up several trees, but there were no real squirrels.
PHP 4.4.1, the version on the server in question, comes with 2 flavors of
ini file, the dist and the recommended. I had copied the recommended and
renamed it php.ini, which is the one we have been using all day. I am
standing in the data center cursing and swearing and the network admin says,
"Maybe the ini file is hosed somehow." Of course I said that that could not
be the case. What could possibly be bad in the text file to cause this kind
As the afternoon wore on he kept asking if I could water down the ini file
because it was the placement of that file that caused the problem. Even when
I went the route of changing the environment variable I had problems. I told
him that several of the best minds in the world were working on the problem
and that the ini file could not be at fault really. I wanted to prove to him
that this could not be the case, so I renamed the
recommend->php.ini->php.ini.old and copied the dist version which was
renamed to php.ini. I moved it to the WINNT folder. I stopped and started
IIS. Lo' and behold, the php pages loaded fine, with no 404 error. I made a
change to the ini file. It showed up properly in phpinfo(). Dammit he had a
smug look on his faced when I departed the data center.
Apparently there is something wrong with the 'recommended' version. I will
have to compare them to see the differences so that maybe the problem could
be isolated so that furture users do not encounter the several hours of
frustration that I have encountered. You're all to be praised for your
knowledge and insight. Thank you.
I have found that it is not just with the recommended version. After some
more wrangling this morning I have narrowed it down to the doc_root =
directive in the ini file.
When I moved the 'dist' copy yesterday I had not gone through all of the
manual setup steps, so I had not changed doc_root and the extensions
directory. I set doc_root as follows;
doc_root = E:\sitegrp1
and the behaviors that we discussed yesterday reappeared. Here is the text
surrounding the directive
; The root of the PHP pages, used only if nonempty.
; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root
; if you are running php as a CGI under any web server (other than IIS)
; see documentation for security issues. The alternate is to use the
; cgi.force_redirect configuration below
Is this the mystical "security issues" mentioned above (ihaven't located the
documentation it refers to at this point)? e:\sitegrp1 has several
directories below it, so it is not empty. Anyhow, more to chew on. Thanks
again for everyone's help. My php.ini happily resides in c:\php and is
properly located and parsed since PHPRC was added to the environment
variables (shouldn't this be part of the manual installation steps?).
[Reply to this message]