
Microsoft Support of PHP on Windows - sirwitti
https://news-web.php.net/php.internals/110907
======
AegirLeet
Clarification from Sara Golemon here:
[https://www.reddit.com/r/PHP/comments/ho9dgq/comment/fxgk1sc](https://www.reddit.com/r/PHP/comments/ho9dgq/comment/fxgk1sc)

Key takeaway:

>This message means Microsoft aren't going to produce official builds for PHP
8 onwards.

>This message does NOT mean that nobody will.

~~~
TheRealPomax
I didn't even know that Microsoft were the ones creating the official PHP
builds, and now that I do, I have no idea why they were in the first place.
Especially not when PHP is software that's _owned_ by a company that has had
the resources to pay for normal CI/CD pretty much since PHP became big enough
for Zend to hire staff.

~~~
sedatk
PHP was part of the IIS packaging and was marketed as a seamless integration
option. That's probably why they worked on builds themselves.

~~~
wutwutwutwut
> seamless integration option

My experience with PHP on Windows has been continously terrible. Was there
some trick I missed? I have never seen any options in a vanilla IIS to enable
PHP.

~~~
stallmanite
I’ve been out of the PHP game for a decade or so but Windows, Apache, and PHP
always worked no problem. Maybe Windows, IIS, and PHP is a more fickle stack?

~~~
DoctorOW
I have a tough time believing Microsoft wasn't intending their special builds
of Windows PHP for IIS.

------
lifthrasiir
This is about PHP For Windows [1], which build is currently supported by
Microsoft. The original title "Microsoft Support of PHP on Windows" might be
not sufficient but at least not inaccurate. (EDIT: The submission title has
been updated since this post.)

[1] [https://windows.php.net/](https://windows.php.net/)

------
gexla
Doesn't seem like a big deal. In this case I believe "MS support" is just
compiling PHP for Windows and making them available at the PHP for Windows
site.

I'm sure someone will pick this up. Or maybe it ends up being something like
Apache where you have to find other places in the ecosystem which provide
binaries for Windows. Or just compile the thing yourself.

[https://windows.php.net/download/](https://windows.php.net/download/)

There's vague Tweets here...

[https://twitter.com/dalehirt/status/1281300688102801408](https://twitter.com/dalehirt/status/1281300688102801408)

Seems Dale in moving on to different things and there's nobody to replace him?

You can see his Github activity here...

[https://github.com/dalehhirt](https://github.com/dalehhirt)

ETA: Looks like a lot of this info has already been located and posted in the
mentioned Reddit thread.

------
Thorentis
Title should be changed to "Microsoft ending PHP for Windows support from 8.0
onwards"

~~~
delfinom
No it's actually. "Microsoft pulling devs from supporting PHP for Windows".
The project itself will still live on and builds will still exist.

------
me551ah
Do people really use Windows as a production server for PHP? Most people I
know use Windows as a dev machine, which I guess will still be supported.

~~~
ashkante
Yes. In my experience, it usually comes down to "Our Windows admins don't know
Linux, so it'll be easier for them to manage a server if it's running
Windows!"

Except they never do, because they don't know PHP on Windows either and are
afraid of breaking things, and the customer ends up with a PHP/Wordpress
installation that is 4 years out of date. Luckily, most of those are internal-
only apps, but it still sucks.

~~~
linker3000
This is very accurate.

Where I used to work, we developed and supported a SaaS app based on PHP with
PostgreSQL and Apache. We had two self-hosting customers who ran on Windows
Server with SQL Server for the exact reasons mentioned, and they were our most
troublesome customers. Performance tuning (and hence regular complaints that
'our' app was horribly slow) was a particular issue - mostly due to their
admins' lack of relevant experience on both the stack...and Windows Server(!).
The whole setup was a pain because we got so much flak, despite the premise of
'self-hosting' being that the customer had sufficient smarts to support the
infrastructure and stack and we'd just support the functional and development
aspects of the app.

One customer also had the system so locked down that for remote admin we had
to connect to a jump box via VPN + RDP and then jump from that to the server
with another RDP connection. Fetching large log files through that setup was a
challenge.

Partly for our sanity, we persuaded one customer to let us migrate them to a
Linux server; that went very well and really cut down on angst all round even
though we then took responsibility for platform support.

~~~
solarengineer
Perhaps this is where "appliance VMs " could be of use.

~~~
robertlagrant
Or "containers".

------
fideloper
I'm most curious about what happens to the official SqlServer drivers for PHP.

At work, we have an on-premise customer support application that relies on PHP
being installable on Windows, and requires the official SqlServer drivers for
PHP (since they are the ones that...work).

We have many customers on Windows infrastructure; PHP on Windows Server is
definitely a real use-case.

So lacking a PHP option would definitely be an issue for us!

But also: In all of Microsoft, is PHP on Windows really just relying on one
person????????

~~~
malinens
The beautiful thing about php is it might just work even without updates.
There are quite a few extensions which are not updated for almost 10 years and
they still work on newest php versions

------
dikei
Who use Microsoft build of PHP ?

Back when I was still coding PHP on Windows, I just used the XAMPP bundle to
get the entire web stack up and running in minutes. Granted, that was 10 years
ago, I'm neither coding PHP nor coding on Windows now, so I'm a bit out of the
loop.

~~~
AdrianB1
In my company some small internal web sites and simple apps run PHP on
Windows; we always got the PHP zip from php.net and manually configured about
15 parameters to suit our needs, this was once per minor release, so about
once a year (monthly updates did not need any config change). I am using PHP
for scripting anything that does not require an exe, but more complex than a
batch file, it is the default scripting solution (I connect to SQL server a
lot from these scripts).

~~~
keanebean86
I built an internal web app a few jobs ago around 2015.

Windows server vm, IIS, PHP 7, and sql server. This replaced an asp app.

My only major issues were SQL driver or coding. I did struggling with session
timeouts for a while.

I really wish I had known about nginx back then. Even if it were just to show
a "down for maintenance" screen while doing a release.

Edit: I upgraded to php 7 in early 2016 before the app officially launched

~~~
AdrianB1
SQL driver works just fine, and "down for maintenance" takes seconds to put in
IIS, no PHP needed. Not perfect, but working.

~~~
keanebean86
I had trouble years ago when the php 7 version first came out. It was fine
after a few months.

------
JeanMarcS
Well, now that you can embed a Debian (or other) very easily, I guess it
doesn’t make a lot of sense to continue compiling PHP for Windows ?

And there were always some traps (mostly because of the lack of case sensitive
file names), so I feel it’s better to not use it anymore at all (the edge
cases must be very low)

------
jpalomaki
Originally Microsoft managed PHP offering on Azure (Azure App Service) was
running only on Windows.

Nowadays Azure App Service also supports Linux, so there’s no so big need for
PHP on this side.

~~~
oaiey
And most likely most Azure customers are already clicking the Linux option. So
they can start wrapping support down. And a major version like PHP 8.0 is
likely just the perfect moment.

------
kappuchino
If there was only one programming language to directly support, I guess this
would not happen. But the landscape has changed (personally, I switched from
php to python like 15 years ago). If you read the next to mails, it seems they
will still help, just not work directly to support it from Microsofts end.

------
numlock86
Why does PHP need support from within Microsoft to be supported on Windows
anyway? What I grasp from that email is that they support the development and
build process in some way. Sure enough that could be done by someone else
within the community. What's the fuss about?

~~~
jpalomaki
Being an open source project most of the work is likely sponsored by companies
who have some kind of interest in supporting the project.

I don’t think Microsoft is doing anything that could not be technically done
by somebody else.

~~~
johannes1234321
> I don’t think Microsoft is doing anything that could not be technically done
> by somebody else.

This is generally true. PHP had Windows support early on and builds provided
by community.

Having Microsoft backing it meant there were people with more time for it and
some Windows-specific optimisation could be done, by people with access to
true Windows experts. This gave a boost in the early days of their
involvement.

------
seek3r00
It makes sense to me. You can use WSL, and run PHP on Linux.

------
addicted
What does this actually mean? The PHP release engineer who replied didn’t make
it sound like it was a major deal (of course, if it is a major deal, this may
just have been an initial ACK statement).

~~~
onion2k
Technologically it's not a big deal for developers who want to run PHP on
Windows because WSL can do that. It might affect people who have, say, a .NET
app running on Windows in Azure who wanted to put a Wordpress marketing site
on the same server. As of PHP8 they'll have to either use an 'unofficial' PHP
build for Windows or move the PHP site to a second server.

Politically though, it _might_ be a big deal. Microsoft don't think supporting
a native Windows build of PHP is worthwhile. That could say something about
the server-side scripting language landscape changing. On the other hand, it
might just say that it costs a few hundred thousand dollars of engineering
time every year and they believe that could be allocated better. There's no
way to know from a single post.

~~~
tpetry
I guess the just have to make to many modifications to run 8.0 on Windows.
Maybe the JIT does nor work properly/easily on windows?

Nevertheless nowadays there is WSL and Docker so you don‘t really need a
windows native executable.

~~~
innocenat
There already PHP8 build on Windows:
[https://windows.php.net/qa/](https://windows.php.net/qa/)

------
swalsh
Sorry if this is a dumb question, I don't really use Windows any more... so
i'm not super familiar with how things work today.

With the new Linux subsystem, does Windows even need separate support for PHP
anymore?

~~~
Someone1234
> With the new Linux subsystem, does Windows even need separate support for
> PHP anymore?

For Windows client, maybe not.

But some people run PHP on Windows Server in actual production scenarios
(using either Apache or IIS) and those people absolutely need a native
solution: WSL[2] has too much overhead.

SHOULD you be using PHP on Windows Server? Likely not, but it is more common
than you'd think, I've personally worked at multiple companies that had a
Wordpress based site running on IIS for example. This was pre-Cloud though so
YMMV.

~~~
bsenftner
There's the UniServer
[https://www.uniformserver.com/](https://www.uniformserver.com/) \- a complete
WAMP stack with quite a bit more, plus it is pre-hardened for use on the
public web, ready for deployment and production. It's humorous how many WAMP
developers work in public with their development hooks open, allowing
outsiders to peer in and they are unaware. UniServer does not allow that.

~~~
kemonocode
The fact they haven't really updated their front page in years would make me
nervous about using such a thing (PHP 5.6 came out 6 years ago and it reached
EOL December 31st, 2018) and it took a closer look to see the project was
still being updated with a new release just a couple months ago. I'm not
trying to crap on the entire project, far from that! A more secure by default
alternative to XAMPP/WampServer for Windows is great! But first impressions do
matter.

------
neovive
Besides alternatives like WSL 2, someone can also produce a winget[1] package.

[1] [https://devblogs.microsoft.com/commandline/windows-
package-m...](https://devblogs.microsoft.com/commandline/windows-package-
manager-preview/)

------
mike01
Must be the fact that they can not make money from it. Kind regards
[https://www.good2manage.com](https://www.good2manage.com)

------
pedro2
At least they warned.

------
partiallypro
What does this mean for PHP on Azure App Service plans? Are they just going to
use a different version?

~~~
joking
php on azure probably runs on linux, so it means nothing for it.

~~~
paulirwin
This is incorrect. When creating an Azure App Service with PHP, you can choose
either Linux or Windows. You would likely choose Windows if you needed to do
things like execute Windows binaries as WebJobs.

------
kalleboo
I guess with WSL maturing, most people will use that instead to run PHP on
Windows

~~~
bobmaxup
Is WSL maturing? It seems like it has abandoned its original goal for WSL in
WSL2
[https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux#WS...](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux#WSL_2)

------
teekert
Windows is not a server OS. It's a desktop OS you can use to talk to Linux
servers. That's why they gave us WSL and that nice terminal I'm looking at.

~~~
jankiehodgpodge
Maybe not for hosting but I think the Active directory server at the heart of
just about every company would disagree with your statement.

~~~
mey
SQLServer and Hyper-V are also not to be underestimated.

~~~
1337shadow
PostgreSQL and KVM neither.

------
detay
why?

------
fomine3
What they did for PHP supporting Windows?

------
cjohansson
Microsoft and PHP has never been a good combination, it’s like .NET on Linux

~~~
numlock86
2010 called and wants its opinion back.

No, seriously. Haven't you heard about ASP.NET Core and the like? Even Azure
is actively pushing Linux + .NET Core these days.

~~~
quickthrower2
They are recommending a managed k8s cluster, although that k8s cluster can run
"windows containers", but if the goal is "don't use aws" then they have to be
pushing this way.

------
jonny383
Microsoft will, in all likeliness, be shifting from the NT kernel to a unix-
like kernel in the near-ish future. I wouldn't be too concerned.

~~~
childintime
Why would they want to do that? Why adopt something that is on its way to the
museum?

~~~
echelon
> Why would they want to do that? Why adopt something that is on its way to
> the museum?

The Unix kernel is one of the most widely deployed in the world. I don't think
it's going anywhere in the next 100 years.

~~~
seabrookmx
> The Unix kernel

Which one? Linux?

By that logic Windows NT kernel won't go anywhere in 100 years either, since
it runs on nearly a billion devices.

~~~
rbanffy
Neither is MVS going anywhere, even though it has evolved into z/OS.

I'm pretty sure there will be a workloads running on NonStop well into the
21st century too.

So, there's no reason to think we will be free of Windows anytime soon either.

