It’s already been 3 years
If you’re reading this, it’s likely that you’ve seen the notice in WPEngine that PHP8.0 will be EOL soon and you’ll need to upgrade to PHP8.2 (Not sure why they skipped 8.1) or the Google gods blessed us with your presence.
Over the last few years we’ve upgraded a few legacy PHP application to be built with newer standards, PHP versions and libraries including moving over to dependency injection (DI). I’ll discuss why I think DI is one of the most important parts of modernising a legacy application.
Look Ferris is cute and was a hit with my kids when they saw him… quite in contrast to the Rust logo, that I’m too afraid to even show here.
Wow what a start huh? It’s not that bad but while I was learning Rust a bit of drama has occurred around the Rust foundation… enough of that though, let’s discuss the doings of codes.
The “Error 503: Valid RCPT command must precede DATA” happens when sending email. Outlook is telling you that your SMTP (outgoing mail) connection was not properly authenticated by your email server.
The two most common causes for this error are:
- Your email server requires you to check email first before sending email (checking email first is one way your email provider manages the security of your email account).
- Your email client isn’t set up for SMTP Authentication.
Have an old or current Classic ASP project that needs converting to PHP?
This is recently just what we did for an internal system, it took a while but we finally got there and launched (Hurar!), I’ll be explaining our process and issues along the way in this blog post. Hopefully this will help someone wanting to achieve the same, what to watch out for and general tips and tricks.
A bit of history first, I started with classic ASP back in around the year 2000, creating some simple websites connecting to an access database. I’d already been programming in VB6 for a couple of years and being able to create dynamic websites in a very similar language was great. ASP did get a few upgrades but essentially it didn’t really change like PHP or ASP.NET has. Having programmed in PHP and C# (ASP.NET and desktop) I knew what was possible (for a sometimes programmer) and the now aging Classic ASP launched around 20 years ago just wasn’t enough. To be honest I’m still surprised that classic ASP lasted so long and has given us such a good run.
Here’s a few details about the website, it was a mostly internal website to manage parts of the business and contained about 200+ ASP files and around 50k lines of code including comments and some HTML.
How do I set up file permissions in Windows for PHP?
When using PHP permissions are misunderstood and common response is just giving too much access which is a security nightmare!
This is extremely important when configuring IIS manually on a VPS or Dedicated server, you want each site isolated from each other. This protects your server and other websites if one site is hacked or compromised.
If you’re just developing locally this isn’t too bad but it’s good practice to always configure it correctly, this will help find errors you may encounter in production but also that we should always be thinking about security.
Any reputable Windows web host would also be configuring their servers automatically using a control panel to configure secure permissions and website isolation so there is no need to worry about this if your with a shared website host. Most control panels will allow you to change if write permissions are enabled or not, this is a common fix for shared hosts and write permission issues.
Web development has changed a lot over the years and security is now a big focus point for web developers so while some would like to leave the IIS & Windows configuration to their server admins it’s good to understand and take responsibility.
It’s not hard to configure and after you’ve done it you’ll feel great knowing that you’re website is substantially more secure so let’s go.
A great way to test PHP is by creating a PHPInfo page.
This is a simple page that displays PHP settings and easily proves if PHP is working or if a specific feature is install or should be working on PHP.
We’ve made a simple tutorial with images to make it easy to get started using this nifty file.
If your running PHP on Windows and using PHP 5.5+ including PHP 7+ the Zend OPcache comes built in by default but isn’t enabled.
You will get massive improvements on any sequential execution of a PHP pages and there is really no reason not to use the Zend OPcache.
So lets enable the PHP OPcache and gain a whole lot of PHP speed!
Good news if your site is hosted with Aspire Web you are already protected from the latest vulnerability, httpoxy CVE-2016-5387.
If your interested in more technical details see: https://httpoxy.org/
As all our current customers are running on Windows using IIS and the FASTCGI interface for running additional scripting languages (PHP/NodeJS) our services are protected!
Microsoft have released a KB explaining how this affects IIS and how this is only an issue if you are running the old CGI interface which we have never used, see more here: https://support.microsoft.com/en-us/kb/3179800
The simple truth is….
What you may be told may differ… most likely either “Why would you want to do that?” or the usual “yeaaaa….. but linux is better”.
There is nothing wrong with WordPress on Windows and here’s why