You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Rich Bowen <rb...@rcbowen.com> on 2011/03/18 15:24:48 UTC

PHP5.3.6

I wanted to be sure that folks are aware of what's going on in the Windows/PHP world. I know that, in one sense, it's not our problem, but it *feels* like our problem to me, and to many of our users.

PHP5.3.6 was just released, and the Windows binaries are built with VC9, meaning that it won't work with our Windows binaries. I know that it's been discussed before, and there's a plan to move to VC9, but as of last week, the official PHP build doesn't run with the official Apache httpd build. The PHP website recommends that folks use the Apache Lounge build.

This sucks.

It sucks that our users have to jump through additional hoops. It sucks even more that there wasn't (or at least, it appears to me that there wasn't) conversation between the two communities prior to this happening. The folks in php-land are aware that it's a problem, but don't see to really think that it's *their* problem. For our part, we seem to be unaware that anything happened.

I don't know that the relationship between Apache httpd and php communities is anybody's *fault*, but it's long struck me as a great shame that there isn't closer cooperation between the two communities.

I'm not sure exactly what I'm suggesting we do about this. It would be nice if we could provide binaries built with VC9, or if we could recommend on the download site that people get binaries from ApacheLounge. I don't know if either of these is really an option. How would folks feel about our download site encouraging folks to use ApacheLounge's version of 2.2? I suspect that there'd be some resistance to this, based on our previous interactions with them.

I have a foot in the documentation team of both projects, so I tend to hear both sides of the conversation at least from that perspective. I'd like for us to be more proactive about strengthening the community bond between us and what is probably the most important third-party Apache httpd module. There seems to be a pretty strong "they don't ever listen to us" attitude on both sides, and I'm not sure that it's really warranted.

--
Rich Bowen
rbowen@rcbowen.com


Re: PHP5.3.6

Posted by Pierre Joye <pi...@gmail.com>.
On Sat, Apr 16, 2011 at 8:54 PM, Akins, Brian <Br...@turner.com> wrote:
> On 4/15/11 6:11 PM, "Reindl Harald" <h....@thelounge.net> wrote:
>
>>
>> Am 15.04.2011 23:01, schrieb Jeff Trawick:
>>
>>> FastCGI is a way to get us out of all sorts of dark alleys; let's be
>>> sure to keep it in mind as one of the tools to address binary
>>> compatibility issues, PHP-centered or not
>>
>> but you can not use .htaccess with cgi
>
> .htaccess works just fine with FastCGI.  .htaccess is handled by Apache as
> normal.  FastCGI is just a different way to run the PHP interpreter in this
> case.

No, php's directive does not work when PHP is used via FastCGI. But
the .user.ini feature in 5.3 (ported from pecl's htscanner) does.

Also I disagree that FastCGI is the best thing on earth for php/other
on windows. But that's another story :)

Cheers,
-- 
Pierre

@pierrejoye | http://blog.thepimp.net | http://www.libgd.org

Re: PHP5.3.6

Posted by "Akins, Brian" <Br...@turner.com>.
On 4/15/11 6:11 PM, "Reindl Harald" <h....@thelounge.net> wrote:

> 
> Am 15.04.2011 23:01, schrieb Jeff Trawick:
> 
>> FastCGI is a way to get us out of all sorts of dark alleys; let's be
>> sure to keep it in mind as one of the tools to address binary
>> compatibility issues, PHP-centered or not
> 
> but you can not use .htaccess with cgi

.htaccess works just fine with FastCGI.  .htaccess is handled by Apache as
normal.  FastCGI is just a different way to run the PHP interpreter in this
case.


-- 
Brian Akins



Re: PHP5.3.6

Posted by Reindl Harald <h....@thelounge.net>.
Am 15.04.2011 23:01, schrieb Jeff Trawick:

> FastCGI is a way to get us out of all sorts of dark alleys; let's be
> sure to keep it in mind as one of the tools to address binary
> compatibility issues, PHP-centered or not

but you can not use .htaccess with cgi

what is the main reason using apache/php on windows?
testing for developers using windows

i'm sure that many developers out there are affected even
i do not understand why anybody is using apache/php on windows
instead installing a linzx-vm for development




Re: PHP5.3.6

Posted by Jeff Trawick <tr...@gmail.com>.
On Fri, Mar 18, 2011 at 10:24 AM, Rich Bowen <rb...@rcbowen.com> wrote:
> PHP5.3.6 was just released, and the Windows binaries are built with VC9, meaning that it won't work with our Windows binaries. I know that it's been discussed before, and there's a plan to move to VC9, but as of last week, the official PHP build doesn't run with the official Apache httpd build. The PHP website recommends that folks use the Apache Lounge build.

I just got mod_fcgid to build under MinGW, of course tried phpinfo()
as the "hello world" of FastCGI as far as I'm concerned, did so using
the binary build from php.net, noticed the "Compiler 	MSVC9 (Visual
C++ 2008) " row in the pretty table, and recalled this thread.

FastCGI is a way to get us out of all sorts of dark alleys; let's be
sure to keep it in mind as one of the tools to address binary
compatibility issues, PHP-centered or not.

Re: PHP5.3.6

Posted by Rich Bowen <rb...@rcbowen.com>.
On Mar 18, 2011, at 12:07 PM, Mladen Turk wrote:

> On 03/18/2011 04:55 PM, Rich Bowen wrote:
>> 
>> On Mar 18, 2011, at 11:48 AM, Mladen Turk wrote:
>> 
>>> On 03/18/2011 04:43 PM, Jeff Trawick wrote:
>>>> 
>>>> what if we add text to our download that says that official PHP
>>>> binaries for Windows starting with 5.3.6 no longer work with our
>>>> stable-ABI builds
>>>> 
>>> 
>>> +1
>> 
>> Doing that without suggesting an alternative seems discourteous both to these Windows users and to the PHP community.
>> 
> 
> Alternative would be "We are looking for a solution".
> We don't need to give up before even trying.
> 
> I gave the alternative by using winddk compilers.
> If compiled using those tools it works perfectly with both old and new php versions.
> 
> Look at thread few weeks ago.
> Bill said he will use VS2010, so given that PHP uses VS2008
> we are again in endless loop of catching one other's version.
> 
> Like I suggested, we could avoid linking to msvcrtXX.dll
> which will allow any third party plug-in to work seamlessly.

If that's something that we're actively moving towards, that would be great. Thanks.

--
Rich Bowen
rbowen@rcbowen.com


Re: PHP5.3.6

Posted by Mladen Turk <mt...@apache.org>.
On 03/18/2011 04:55 PM, Rich Bowen wrote:
>
> On Mar 18, 2011, at 11:48 AM, Mladen Turk wrote:
>
>> On 03/18/2011 04:43 PM, Jeff Trawick wrote:
>>>
>>> what if we add text to our download that says that official PHP
>>> binaries for Windows starting with 5.3.6 no longer work with our
>>> stable-ABI builds
>>>
>>
>> +1
>
> Doing that without suggesting an alternative seems discourteous both to these Windows users and to the PHP community.
>

Alternative would be "We are looking for a solution".
We don't need to give up before even trying.

I gave the alternative by using winddk compilers.
If compiled using those tools it works perfectly with both old and new php versions.

Look at thread few weeks ago.
Bill said he will use VS2010, so given that PHP uses VS2008
we are again in endless loop of catching one other's version.

Like I suggested, we could avoid linking to msvcrtXX.dll
which will allow any third party plug-in to work seamlessly.



Regards
-- 
^TM

Re: PHP5.3.6

Posted by Rich Bowen <rb...@rcbowen.com>.
On Mar 18, 2011, at 11:48 AM, Mladen Turk wrote:

> On 03/18/2011 04:43 PM, Jeff Trawick wrote:
>> 
>> what if we add text to our download that says that official PHP
>> binaries for Windows starting with 5.3.6 no longer work with our
>> stable-ABI builds
>> 
> 
> +1

Doing that without suggesting an alternative seems discourteous both to these Windows users and to the PHP community.

--
Rich Bowen
rbowen@rcbowen.com


Re: PHP5.3.6

Posted by Mladen Turk <mt...@apache.org>.
On 03/18/2011 04:43 PM, Jeff Trawick wrote:
>
> what if we add text to our download that says that official PHP
> binaries for Windows starting with 5.3.6 no longer work with our
> stable-ABI builds
>

+1


Regards
-- 
^TM

Re: PHP5.3.6

Posted by Jeff Trawick <tr...@gmail.com>.
On Fri, Mar 18, 2011 at 11:12 AM, Rich Bowen <rb...@rcbowen.com> wrote:
>
> On Mar 18, 2011, at 10:55 AM, Jeff Trawick wrote:
>
>>
>> I don't think we should ever point to third party httpd downloads.
>> Let those offering binaries compete in the same way as Ubuntu, Fedora,
>> etc.
>> I think in general that the Apache-on-Windows user community offers up
>> a relatively small amount of sacrifice (contributed effort per size of
>> community) at the same time that the platform has a large number of
>> technical considerations, and I cannot suggest that we (really, Bill
>> and tiny number of others) do more work on their behalf.
>
> I'm not suggesting that Bill do any more on their behalf. I'm suggesting that we embrace the huge effort that Stefan and the ApacheLounge folks have done, and direct people there. It seems that everybody stands to benefit if we improve relations with that community, or, at the very least, acknowledge their existence.
>
> What would it take, from our side or from Stefan's, to make it ok for us to say "go here for Windows binaries"? It surely seems that this would be a big win for both of us.

why not go to apachefriends and get Apache and PHP built/tested
together and somewhat integrated?  where does it end, and why pick
winners?  heck, maybe I lose my job tomorrow and decide I want to sell
ads on my own binary download pages; can I get a preferred link?  I'll
even see if phpinfo() works

the people downloading php 5.3.6 binaries already got the hint to go
to ApacheLounge, right?

what if we add text to our download that says that official PHP
binaries for Windows starting with 5.3.6 no longer work with our
stable-ABI builds

>> For open source on Windows in general, I think changes to make it more
>> practical for "normal" users to build open source is what will
>> ultimately improve the overall Windows situation (it is an anomaly
>> that we have such a discussion of binaries), as it enables a more
>> fruitful conversation ("can you try this patch?" vs. getting stuck at
>> "you gave me this binary and it fails") and will facilitate the
>> involvement of more would-be developers.  I understand that MS has
>> done a lot of work to make it more feasible to build PHP + extensions
>> on Windows.  This doesn't help at all the VC6 issue, but it is a big
>> improvement for the long term.  (I wonder if MinGW support by the
>> various projects is viable for random users, or if a lot more effort
>> is required to make it smoother.)
>
> That sounds good, I suppose, but doesn't actually help any of our actual customers today, or any foreseeable tomorrow.

I guess the "Give a man a fish..." spiel wouldn't go over too well right now...

Re: PHP5.3.6

Posted by Mladen Turk <mt...@apache.org>.
On 03/18/2011 04:12 PM, Rich Bowen wrote:
>
> On Mar 18, 2011, at 10:55 AM, Jeff Trawick wrote:
 >
> What would it take, from our side or from Stefan's, to make it ok for us to say "go here for Windows binaries"? It surely seems that this would be a big win for both of us.
>

AFAICT they do not produce .msi installer, only .zip files
However I have httpd binaries linked to msvcrt.dll and build
by VS2008 which offer the highest possible compatibility.

See:
http://www.syndicateofideas.com/posts/fighting-the-msvcrt-dll-hell

It uses the latest WindowsDDK compilers which Microsoft
is using to compile system components.

I also use this system for quite some time for producing
commons daemon and few other windows binaries.


Regards
-- 
^TM

Re: PHP5.3.6

Posted by Rich Bowen <rb...@rcbowen.com>.
On Mar 18, 2011, at 10:55 AM, Jeff Trawick wrote:

> 
> I don't think we should ever point to third party httpd downloads.
> Let those offering binaries compete in the same way as Ubuntu, Fedora,
> etc.
> I think in general that the Apache-on-Windows user community offers up
> a relatively small amount of sacrifice (contributed effort per size of
> community) at the same time that the platform has a large number of
> technical considerations, and I cannot suggest that we (really, Bill
> and tiny number of others) do more work on their behalf.

I'm not suggesting that Bill do any more on their behalf. I'm suggesting that we embrace the huge effort that Stefan and the ApacheLounge folks have done, and direct people there. It seems that everybody stands to benefit if we improve relations with that community, or, at the very least, acknowledge their existence.

What would it take, from our side or from Stefan's, to make it ok for us to say "go here for Windows binaries"? It surely seems that this would be a big win for both of us.

> For open source on Windows in general, I think changes to make it more
> practical for "normal" users to build open source is what will
> ultimately improve the overall Windows situation (it is an anomaly
> that we have such a discussion of binaries), as it enables a more
> fruitful conversation ("can you try this patch?" vs. getting stuck at
> "you gave me this binary and it fails") and will facilitate the
> involvement of more would-be developers.  I understand that MS has
> done a lot of work to make it more feasible to build PHP + extensions
> on Windows.  This doesn't help at all the VC6 issue, but it is a big
> improvement for the long term.  (I wonder if MinGW support by the
> various projects is viable for random users, or if a lot more effort
> is required to make it smoother.)

That sounds good, I suppose, but doesn't actually help any of our actual customers today, or any foreseeable tomorrow.

--
Rich Bowen
rbowen@rcbowen.com


Re: PHP5.3.6

Posted by Jeff Trawick <tr...@gmail.com>.
On Fri, Mar 18, 2011 at 10:24 AM, Rich Bowen <rb...@rcbowen.com> wrote:
> I wanted to be sure that folks are aware of what's going on in the Windows/PHP world. I know that, in one sense, it's not our problem, but it *feels* like our problem to me, and to many of our users.
>
> PHP5.3.6 was just released, and the Windows binaries are built with VC9, meaning that it won't work with our Windows binaries. I know that it's been discussed before, and there's a plan to move to VC9, but as of last week, the official PHP build doesn't run with the official Apache httpd build. The PHP website recommends that folks use the Apache Lounge build.
>
> This sucks.
>
> It sucks that our users have to jump through additional hoops. It sucks even more that there wasn't (or at least, it appears to me that there wasn't) conversation between the two communities prior to this happening. The folks in php-land are aware that it's a problem, but don't see to really think that it's *their* problem. For our part, we seem to be unaware that anything happened.
>
> I don't know that the relationship between Apache httpd and php communities is anybody's *fault*, but it's long struck me as a great shame that there isn't closer cooperation between the two communities.
>
> I'm not sure exactly what I'm suggesting we do about this. It would be nice if we could provide binaries built with VC9, or if we could recommend on the download site that people get binaries from ApacheLounge. I don't know if either of these is really an option. How would folks feel about our download site encouraging folks to use ApacheLounge's version of 2.2? I suspect that there'd be some resistance to this, based on our previous interactions with them.
>
> I have a foot in the documentation team of both projects, so I tend to hear both sides of the conversation at least from that perspective. I'd like for us to be more proactive about strengthening the community bond between us and what is probably the most important third-party Apache httpd module. There seems to be a pretty strong "they don't ever listen to us" attitude on both sides, and I'm not sure that it's really warranted.

I mostly agree with your sentiment.
I don't think we should ever point to third party httpd downloads.
Let those offering binaries compete in the same way as Ubuntu, Fedora,
etc.
I think in general that the Apache-on-Windows user community offers up
a relatively small amount of sacrifice (contributed effort per size of
community) at the same time that the platform has a large number of
technical considerations, and I cannot suggest that we (really, Bill
and tiny number of others) do more work on their behalf.

For open source on Windows in general, I think changes to make it more
practical for "normal" users to build open source is what will
ultimately improve the overall Windows situation (it is an anomaly
that we have such a discussion of binaries), as it enables a more
fruitful conversation ("can you try this patch?" vs. getting stuck at
"you gave me this binary and it fails") and will facilitate the
involvement of more would-be developers.  I understand that MS has
done a lot of work to make it more feasible to build PHP + extensions
on Windows.  This doesn't help at all the VC6 issue, but it is a big
improvement for the long term.  (I wonder if MinGW support by the
various projects is viable for random users, or if a lot more effort
is required to make it smoother.)

Re: PHP5.3.6

Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
On 3/18/2011 9:24 AM, Rich Bowen wrote:
> I wanted to be sure that folks are aware of what's going on in the Windows/PHP world. I know that, in one sense, it's not our problem, but it *feels* like our problem to me, and to many of our users.

Quite honestly, this leaves me with a taste to simply drop Windows
builds altogether, and let the competing groups all prove up their
own solutions.  (including PHP, if they had the sense to ship an httpd
build of their choice).  This is little different than the competing
binary builds for linux.  There is an argument for, and available
packages to install an entire lamp stack at once.  They can do this
because licensing the AL+MIT+GPL bits together is no issue to them.

In reality, there's next to no reason to load PHP in process, I know
of several engineers who have profiled the system load of in process
mod_php vs. mod_fcgid with appropriately sized pools of php single
processes with no threading.  Very few deployments merit a 1:1 allocation
of php workers to httpd workers, and this will become more striking as
we move forward towards more asynch models.  Of course a smaller number
of single threaded php workers always wins, because PHP threading has
reasonably high mutex contention, although I'm aware that the BDfL of
php on win32 strongly disagrees with such results.

But keep in mind, mod_perl and mod_python also suffer these issues, and
they are interlocked into particular msvc runtimes that ActiveState,
strawberry perl and others had elected.  Even within their current
shipping products, at any given time ActiveState perl and python are
generally built with a different msvc flavor.  Interesting for PHP to
join the effort to further fragment the picture, today.  (Yes, strawberry
perl is an msys based build, but one that links in msvcr80).

As I noted, switching now to VC9 when VC10 has been out for some time
now is ass backwards.  Within months [some 1 to 3 of them] there will
be a finished 2.4.0 (which will be waiting for PHP binaries).  If I go
to the trouble of even offering some binaries, they certainly won't be
using an already stale toolchain.

The only sensible alternatives seem to be MSYS (and there too there is
a question of which msvcrt version) or Mladen's proposal to stay with
msvcrt, which I'm almost favoring right now.

Re: PHP5.3.6

Posted by Mladen Turk <mt...@apache.org>.
On 03/18/2011 05:19 PM, Graham Dumpleton wrote:
> On 18 March 2011 07:24, Rich Bowen<rb...@rcbowen.com>  wrote:
>
> If I read this right, this is a similar issue to what we have in the
> Python world with some Python extension modules on Windows.
>
> One discussion thread about it can be found at:
>
>    http://psycopg.lighthouseapp.com/projects/62710/tickets/20
>
> Scan down towards end of discussion for overview.
>

I don't think that relates to the original problem.
Here, php crashes the httpd caused by msvcrt incompatibilities.
Well, it actually asserts the 'Runtime initialization'.



Regards
-- 
^TM

Re: PHP5.3.6

Posted by Graham Dumpleton <gr...@gmail.com>.
On 18 March 2011 07:24, Rich Bowen <rb...@rcbowen.com> wrote:
> I wanted to be sure that folks are aware of what's going on in the Windows/PHP world. I know that, in one sense, it's not our problem, but it *feels* like our problem to me, and to many of our users.
>
> PHP5.3.6 was just released, and the Windows binaries are built with VC9, meaning that it won't work with our Windows binaries. I know that it's been discussed before, and there's a plan to move to VC9, but as of last week, the official PHP build doesn't run with the official Apache httpd build. The PHP website recommends that folks use the Apache Lounge build.
>
> This sucks.
>
> It sucks that our users have to jump through additional hoops. It sucks even more that there wasn't (or at least, it appears to me that there wasn't) conversation between the two communities prior to this happening. The folks in php-land are aware that it's a problem, but don't see to really think that it's *their* problem. For our part, we seem to be unaware that anything happened.
>
> I don't know that the relationship between Apache httpd and php communities is anybody's *fault*, but it's long struck me as a great shame that there isn't closer cooperation between the two communities.
>
> I'm not sure exactly what I'm suggesting we do about this. It would be nice if we could provide binaries built with VC9, or if we could recommend on the download site that people get binaries from ApacheLounge. I don't know if either of these is really an option. How would folks feel about our download site encouraging folks to use ApacheLounge's version of 2.2? I suspect that there'd be some resistance to this, based on our previous interactions with them.
>
> I have a foot in the documentation team of both projects, so I tend to hear both sides of the conversation at least from that perspective. I'd like for us to be more proactive about strengthening the community bond between us and what is probably the most important third-party Apache httpd module. There seems to be a pretty strong "they don't ever listen to us" attitude on both sides, and I'm not sure that it's really warranted.

If I read this right, this is a similar issue to what we have in the
Python world with some Python extension modules on Windows.

One discussion thread about it can be found at:

  http://psycopg.lighthouseapp.com/projects/62710/tickets/20

Scan down towards end of discussion for overview.

They have solved this problem in Python world by having the affected
package reinsert the missing VC runtime reference into the manifest
file used with the extension.

So, as far as I can see, PHP has a way of solving this themselves
without requiring a change in Apache.

Graham