1

I am fairly new to programming; I was following a tutorial that was using php 7.3.8. So I went to the documentation website of that same php version, and it says it’s no longer supported. So, I stumbled on the questions.

What does that mean that is no longer supported?

That it won't receive any updates?

Is it safe to use?

Should I always use a supported version?

3 Answers 3

6

A programming language itself is just an abstract concept, like a specification.

But implementations of programming languages are software, and as such have bugs that need to be fixed. PHP in particular is often used for web backends, where security vulnerabilities can have substantial impact. That a version of the PHP engine is “supported” means that the project commits to provide security patches or bugfixes for that version.

There is no real problem with learning how the language worked in a particular version. PHP did change in significant ways between version 5 and 8, but it's quite recognizably the same language and knowledge is transferable between versions.

However, you should ensure that any software that you use to process untrusted data, in particular any web servers that are accessible from the internet, should always be up to date.

There is also a social aspect of support in programming languages. A programming language does not just consist of the core implementation, but also of the wider community and ecosystem. Some libraries or tools might start using features that are not available in older versions, but might also rely on features that have been changed or removed in newer versions. Thus, there is a moving window of version compatibility. Usually, but not necessarily, the wider ecosystem tries to support at least the supported versions of the core language implementation.

2
  • 3
    Some additional remarks: 1) A relevant question is "supported by whom"? For example, in the Ruby community (with which I am more familiar than PHP), there are certain versions of YARV and MRI which are maintained by a group of volunteers even after the core developer have stopped supporting them. And there are commercial entities where you can pay to have any version of your choosing supported for as long as you are willing to pay. 2) you also need to check what any particular entity means, exactly, by "supported". For example, in the company I work for, "supported" means … Commented Jul 9, 2022 at 15:59
  • 2
    … "we will respond to an incident of severity level 3 or 4 within 8 hours", but this only applies if you have a Tier A support contract. And the support contract very carefully spells out in excruciating detail, what makes an incident severity level 1, 2, 3, or 4, what it means to "respond" and how, exactly "within 8 hours" is counted. In particular, "respond" does not mean "fix"! Commented Jul 9, 2022 at 16:01
1

It means when you run into a problem with it, the vendor/creator/issuer will not put any effort in fixing it for you. They will just refer you to the current (supported) version, which they will try to help you with if you get into trouble.

You may still be charged for the help but there is a path to help and bug reports will be looked into.

1

If bugs are found in this version, they will most likely never be fixed. Fatal security bugs may not be fixed. Since hackers will still try to attack this version, it will get less and less safe over time.

You should always use a supported version if at all possible, unless the code you wrote is also not supported anymore.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.