Learn More About PHP And The Web Platform!

Struggling with your web server, or to scale your PHP application to meet growing demand?

Whether you're running one server or a whole server farm; whether you're hosting on Windows Server or on Linux.

Learn from Stuart's experience with system design, delivery, support and management to help you do a better job and have an easier time.

Beneath Whitby breakwater

Poll: Have you adopted PHP 5.3 yet?

Posted by Stuart Herbert on September 1st, 2009 in Opinion, Toolbox.

Earlier in the year, before PHP 5.3 was released, I asked the community a series of questions about their attitudes towards moving to PHP 5.3, and had a fantastic response. I’m going to turn all of those answers into a new conference talk that I’m working on.

Now that PHP 5.3 has been around for a few months and we’ve started seeing plenty of blog posts covering all the new features in PHP 5.3, I’m wondering whether or not you have actually moved to PHP 5.3 yet. I’m especially curious to see how this compares to what people said they’d do before it came out 🙂

Please vote on twtpoll to let me know if you have moved to PHP 5.3, and if not, what’s still stopping you. Many thanks in advance!

Be the first to leave a comment »

Still Alive

Posted by Stuart Herbert on August 30th, 2009 in News.

It’s been a busy few months since I had to drop out of the Dutch PHP Conference’s PHP-on-Windows competition due to work pressures. At work, we’ve finished rebranding, launched a new corporate website, and are now starting on a review-and-polish cycle. We’ve also been kept busy finishing off the next version of our VoIP platform, migrating all of our customers onto it (just two more weeks to go!) and coping with a growth rate of 26% during the worst recession in living memory.

Outside work, my wife and I were involved in a car crash at the end of July. We’re both recovering well, although my wife won’t be back at work until at least mid-September. This has meant we’ve had to take things very easy for the summer, but I’m hoping to be back online and blogging regularly again shortly.

Be the first to leave a comment »

I’ve been running a series of polls as research for a new conference talk that I’m currently putting together. The first two polls have had over 1,200 votes between them so far, which is a fantastic response! Now I just need your help with one final poll 🙂

Please vote on twtpoll to let me know where will you get your PHP 5.3 from? Many thanks in advance!

Be the first to leave a comment »

A huge thank you to everyone who voted in my last poll about when you’ll adopt PHP 5.3, and everyone who has provided feedback on the problems caused by the way individual distros package PHP. I’ve had much more feedback than I could have hoped for! This is all useful research for a new conference talk that I’m preparing.

My next question for the PHP community is about where you’ll use PHP 5.3. I’m wondering: which server platforms you’ll choose to put PHP 5.3 on when the time comes? This new poll is multi-choice, allowing you to vote for all of the operating systems that you choose.

Many thanks in advance for your answers 🙂

Be the first to leave a comment »

As part of the research I’m doing for a new conference talk, I’m running a poll to find out when people are planning to switch to PHP 5.3. After the very slow uptake of PHP 5.0, I’m very curious to see how quickly PHP 5.3 will be adopted.

Many thanks!

Be the first to leave a comment »

I’m putting together a new conference talk, and I’d like your help and input.

Most Linux distributions ship with packages for PHP, but not everyone is happy with these packages. If you’re not happy with the PHP packages for a specific Linux distro (no matter how obscure), I’d love to hear what you think the problems are and (if possible) what the correct solution should be.

If you have something to say on this, please leave a comment below.

Be the first to leave a comment »

Came across a second Microsoft-sponsored competition aimed at showcasing PHP on Windows. This one is for Canadian residents, and is headlined ‘The Ultimate Coder Battle‘. The premise is quite interesting: one student and one professional developer will be the chosen finalists, and they will battle head to head at the “Make Web Not War” conference. The winner walks away with substantial cash prizes – $5000 with another $5000 in bonus awards available. Entries close 3rd June.

After many many years of pushing ASP and ASP.net, I’m finding it fascinating to watch Microsoft push Windows as a viable platform for publishing PHP applications. Although PHP apps on Windows have been viable for many years (provided you ditched the fundamentally-flawed ISAPI approach and stuck with the slower-but-stable CGI route), I think it’s great to see the improvements that are being made both to PHP and IIS. From personal experience, I know it can be very difficult to sell PHP-based apps into organisations that choose Windows; being able to point at Microsoft’s support for PHP is a good thing for the ISV community.

Be the first to leave a comment »

This is one of a series of blog posts about my experience competing in the European WinPHP Challenge 2009. Sponsored by iBuildings, Microsoft and Leaseweb, competitors are asked to build a PHP app for Windows Server 2008 and IIS 7 to showcase the FAST in FastCGI. The winner gets travel and tickets to Microsoft MIX 2010 in Las Vagas in March. My entry is Give It A REST , a SOAP <-> REST gateway.

My first problem to solve in R&D is simple: given a (possibly remote) WSDL, how do I create a piece of compiled .NET code to call the described web service? The last time I did any regular Windows development was back in the Win16 days; this is going to be quite a steep learning curve for me.

Finding The Relevant Microsoft Tools

MSDN – Microsoft’s Developer Network – is (AFAIK) the place to go to find Microsoft’s documentation for software development. Clearly, there is a lot of information on MSDN. But how do I quickly find what I need to know … when I don’t really know exactly what I’m looking for? This is a substantial weakness of the MSDN site.

In the end, I had best success using Google to search MSDN. It’s also worth looking at information provided by your SOAP service vendors; Netsuite (for example) publishes a very clear walkthrough of how to do exactly what I need to achieve too.

Introducing wsdl.exe

The .NET framework ships with a command-line tool called wsdl.exe. In my Windows Server 2008 install, it can be found in C:Program FilesMicrosoft SDKsWindowsV6.0ABin. It can do all sorts of useful things, but at the most basic level, it can create a C# source file from a (possibly) remote WSDL file:

Using wsdl.exe

If there are problems validating with the WSDL file, they appear in the output to the screen:

Example Errors Displayed By wsdl.exe

This is something I’ll need to make sure I support in the final app, where wsdl.exe will be called automatically from PHP.

As expected, it takes a few seconds for wsdl.exe to complete. The length of time depends on the time it takes to download the WSDL file and the complexity of the web service described. Rather than do this from front-end PHP code, I’ll need to trigger this from some sort of backend queue to ensure the best quality user experience. This is something I’ve anticipated, and it’s already on my R&D todo list 🙂

Examining the .cs File

I’m very pleased to say that wsdl.exe generates a single C# file containing all of the classes required for the SOAP client. That really makes my life a lot easier 🙂 It also illustrates why having auto-generated SOAP clients is so important: the C# file for the Netsuite 2009 SOAP service weighs in at a “mere” 186796 lines of code!

Autogenerated C# SOAP Client Source Code

Can you imagine having to create that by hand?

Compiling The SOAP Client

To compile the .cs file from the command-line, I need the .NET framework compiler, csc.exe. On this fresh install of Windows Server 2008, there are multiple copies of csc.exe to be found; one copy per installed .NET framework. The latest version (and hopefully the best version to use for this project) is in C:WindowsMicrosoft.NETFrameworkv3.5.

Creating a basic DLL (dynamic link library; roughly similar (but not quite) to a Linux .so dynamically-loaded library) from the auto-generated C# source code is very easy:

Compiling A SOAP Client By Hand

The result is one Windows DLL file. My next step is to figure out how to call this from PHP.

Be the first to leave a comment »

This is one of a series of blog posts about my experience competing in the European WinPHP Challenge 2009. Sponsored by iBuildings, Microsoft and Leaseweb, competitors are asked to build a PHP app for Windows Server 2008 and IIS 7 to showcase the FAST in FastCGI. The winner gets travel and tickets to Microsoft MIX 2010 in Las Vagas in March. My entry is “Give It A REST”, a SOAP <-> REST gateway.

In an earlier post, I described my experience in building a (hopefully) suitable PHP development environment on Windows Server 2008. Since then, a couple of folks have kindy sent some feedback to help improve my understanding a couple of the sticking points I mentioned.

In the Zend Forums, this post describes how to get xdebug up and running under Zend Server on Windows (via Bram). Sadly, Zend’s build of PHP still crashes after following these instructions. Commenting out the Zend Extension Manager seems to stop these crashes, but I’m not sure that’s a compromise I’m willing to make. As I mentioned before, whilst I’d normally choose to install xdebug into any environment I’m working on, it’s not a big deal for me on this project because I am interested in seeing what Zend’s environment has to offer on Windows.

Elizabeth N. Smith from the PHP Windows teams kindly pointed out that the downloads page on www.php.net does indeed offer a NTS (non-thread-safe) build of PHP for Windows further down the page. I’m planning on plundering the PDO driver for MS SQL from there and evaluating it as part of my R&D phase.

Sadly, though, I’ve not seen anything said about why there isn’t a binary standard for PHP on Windows 🙁 These binary incompatibilities just seem to re-enforce why proprietary products on proprietary platforms should be avoided.

Be the first to leave a comment »

I’m currently looking for two PHP developers to come and join my web development team at Gradwell. The team creates and maintains the web-based control panels for our award-winning VoIP service, plus our broadband, email, and web hosting services. From time to time we also get to do crazy things like Twittex and Facebook applications. Our partners often describe us as the geekiest company they ever have to deal with. And one nice bonus is that we use Linux for our desktops not Windows 🙂

The full details are on the Gradwell website, but the basics are that I’m looking for people with a computer science / software engineering degree, with PHP experience (via open-source projects is fine; it doesn’t have to be commercial experience), and experience with symfony is a major plus. It’s essential that you fit in with everyone else in the company, so you’ll need to be someone who’s proactive but supportive rather than competitive.

If you’re interested in applying, talk to me on Twitter or send through a CV and covering letter explaining why you’re the person for the role to stuart(dot)herbert at gradwell(dot)com.

Be the first to leave a comment »
Page 13 of 19« First...1112131415...Last »

This Month

August 2020
« Sep