On 1/29/2019 2:19 PM, William A Rowe Jr wrote:
On Tue, Jan 29, 2019, 14:16 Jerry Malcolm <techst...@malcolms.com
<mailto:techst...@malcolms.com> wrote:
On 1/29/2019 12:31 PM, William A Rowe Jr wrote:
On Tue, Jan 29, 2019 at 12:27 PM Jerry Malcolm
<techst...@malcolms.com <mailto:techst...@malcolms.com>> wrote:
I'm running a very recent version of WAMP x64. I inherited
an 'ancient'
php app that requires php 5.2 and no higher. I went through
the
process of adding php 5.2 to WAMP, and I copied
php5apache2_4.dll from
php 5.6 folder and did the other things in the instructions
to add a php
version to WAMP. But now apache won't start and says it
can't find the
php5apache2_4.dll file.
I've seen several posts about this error message, but they
all reference
different versions. And I know the dll is good since it
works fine on
php 5.6.
My question is... is Win64 Apache 2.4 and php 5.2 a valid
combination?
I don't want to continue beating my head against the wall
only to find
out that this combination is simply not possible. If it is
valid, then
I'll continue debug. If not, I'm in a mess... but it's not a
configuration issue...
You can never combine 32 bit loadable modules in a 64 bit Apache
httpd process. That means x64 is going to require mod_php 64 bit
built against the 64 bit httpd 2.4 and 64 bit php 5.2, in your
example.
The sysinternals tool depends.exe for 64 bit can quickly show you
missing dependencies, and whether the loaded exe/dll/so file was
64 or 32 bits.
Thanks for the quick response, William.
It appears that the answer to my question is that there is NOT an
x64 php 5.2. It is only 32 bit. (64-bit started with 5.3). I
found a link on ApacheLounge to a personally-built x64 php 5.2.
But the link is dead. Does anybody else have a private-built x64
php 5.2?
Alternative, has anybody had any experience with running both a
32-bit Apache and 64-bit WAMP on the same box? Or is that even
possible? I know I'd need to have one on different ports, but I
could redirect certain urls to the other port. Is this a horrible
idea?
It's actually not a horrible idea. The PHP project strongly encourages
admins to host their content using the PHP fcgi sapi. Route to a pool
of 5.2 hosts (32 bit, this is out of process) using either
mod_proxy_fcgi or mod_fcgid. Do the same to a pool of 5.6 hosts for
modern apps. These are all distinct processes and httpd is just moving
the traffic, not generating the dynamic content.
Thanks again. Making progress. I got everything configured and
'working' as far as Apache is concerned with mod_fcgid. Apache appears
happy. And I don't see any php errors. But I simply get a blank page
and a 500 response code from php pages. I can usually debug anything if
I can just find a log error to look at. But I cannot find any error
messages anywhere. I may have overlooked it, but I can't find anyway to
turn on fcgi logging. There's nothing in the main apache log, or the
virtual host logs, or anywhere else I normally look for logs.
BTW.... I did remove the content for index.php and just replace it with
a single text string. It did come up. But as soon as I put any php
syntax in there, 500 RC. I figure this is just a dump config error.
But I need a fighting chance. Where can I look for error messages? I'm
not a PHP guru. So please don't assume I know anything 'obvious' about
debugging php....
My http.conf section is below:
Thx again.
Jerry
LoadModule fcgid_module modules/mod_fcgid.so
<IfModule fcgid_module>
FcgidInitialEnv PATH "C:/Wamp/bin/php/php5.2.12-nts;"
FcgidInitialEnv SystemRoot "C:/Windows"
FcgidInitialEnv SystemDrive "C:"
FcgidInitialEnv TEMP "C:/Wamp/tmp"
FcgidInitialEnv TMP "C:/Wamp/tmp"
FcgidInitialEnv windir "C:/WINDOWS"
FcgidIOTimeout 64
FcgidConnectTimeout 16
FcgidMaxRequestsPerProcess 1000
FcgidMaxProcesses 3
FcgidMaxRequestLen 8131072
# Location php.ini:
FcgidInitialEnv PHPRC "C:/Wamp/bin/php/php5.2.12-nts"
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
<Files ~ "\.php$">
Options Indexes FollowSymLinks ExecCGI
AddHandler fcgid-script .php
FcgidWrapper
"C:/Wamp/bin/php/php5.2.12-nts/php-cgi.exe" .php
</Files>
</IfModule>