PHP vs Node.js compares two ways to build a web backend: PHP, usually run with Laravel or Symfony in a pool of workers that bootstrap the application per request, and Node.js, a JavaScript runtime that serves many connections from one event loop. Neither wins everywhere. On October 22, 2026, W3Techs showed PHP on 69.3% of sites with a known server-side language, while Stack Overflow's 2026 survey showed Node.js used by 46.4% of respondents. MIS Services works with both stacks; start with a free audit or read about our PHP to Node.js migration approach.
What Is the Real Difference Between PHP and Node.js?
PHP and Node.js are not the same kind of tool, which is why many PHP vs Node.js articles talk past each other. PHP is a server-side language, normally run by a web server through a process manager such as PHP-FPM, with a framework like Laravel or Symfony on top. Node.js is a JavaScript runtime, so a "Node.js backend" really means Node.js plus a framework such as Express, Fastify, NestJS or Next.js. The fair comparison is PHP with Laravel against Node.js with one of those frameworks, and that is how this guide is organized. Where Java matters, we add Spring Boot.
Disclosure: MIS Services builds and maintains WordPress (PHP) sites and custom Next.js, React and Node.js applications, and we offer PHP to Node.js migration, so we have a commercial interest in migration work. Every figure below names its publisher and year, the sources are listed at the end, and we say plainly when you should not move off PHP.
The 30-second answer
- Keep PHP and Laravel when your team knows them, the application is a conventional content, commerce or database-driven product, and it runs on a PHP version that still receives security fixes.
- Choose Node.js when your team works in JavaScript or TypeScript, you want one language from browser to server, or the product is built around real-time or highly concurrent traffic.
- Choose Java with Spring Boot for large, long-lived systems that many developers will maintain.
- Do not choose on a benchmark alone. Team skills, workload shape, hosting and how quickly you patch matter more than raw requests per second.
- No stack escapes security advisories. On October 21, 2026, CISA urged immediate patching of two critical PHP flaws, and the same day the Node.js project published a security release of its own.
Time-sensitive facts below were checked on October 22, 2026 at about 11:20 UTC. The PHP security story is still developing, so read the primary sources linked in each section for the latest.
How Do PHP and Node.js Run Your Code Differently?
The biggest practical difference is the execution model, not the syntax. In a classic PHP setup, a web server hands each request to a pool of PHP workers, and the application normally bootstraps, does its work and discards its state. Laravel's Octane documentation describes the alternative: it "boots your application once, keeps it in memory" and serves requests from long-running workers on FrankenPHP, Swoole or RoadRunner. That avoids re-bootstrapping on every request, but the same page warns about memory leaks from static data, stale objects holding an old request, and the need for a process monitor such as Supervisor. PHP also gained Fibers in version 8.1 (PHP manual), and Laravel offers Reverb, a first-party WebSocket server on a ReactPHP event loop. PHP can do long-running and real-time work, but it is an opt-in architecture rather than the default.
Node.js starts from the opposite default. The Node.js introduction explains that it runs an application in a single process rather than creating a new thread per request, using asynchronous input and output so one server can hold thousands of concurrent connections. The trade-off is documented just as plainly: in the guide on not blocking the event loop, a long computation inside a callback makes every other client wait, and the loop should "orchestrate client requests, not fulfill them" itself. CPU-heavy work belongs in worker threads, child processes or a job queue.
Java with Spring Boot sits between the two. Java 21 made virtual threads final through OpenJDK JEP 444, which aims to let servers keep simple thread-per-request code while scaling to many concurrent requests.
| Stack | Typical request model | State between requests | What to watch |
|---|---|---|---|
| PHP with PHP-FPM | Pool of workers; the application normally bootstraps per request | Discarded after each request | Real-time and very high connection counts need extra components |
| Laravel with Octane | Long-running workers; application booted once | Kept in memory | Memory leaks and stale injected state |
| Node.js (Express, Fastify, NestJS, Next.js) | One main thread running an event loop, plus a worker pool | Process stays up | CPU-heavy callbacks block every client |
| Java with Spring Boot | Thread per request; virtual threads since Java 21 | Process stays up | Blocking-style code can scale with virtual threads |
How Do PHP (Laravel) and Node.js Compare on the Main Points?
Percentages come from the Stack Overflow Developer Survey 2026 (all respondents) and W3Techs. A larger number means more usage, not a better tool.
| Dimension | PHP with Laravel or Symfony | Node.js with Express, NestJS or Next.js |
|---|---|---|
| Typing | Type declarations are checked at runtime and raise a TypeError on mismatch (php.net manual) | JavaScript is dynamically typed. TypeScript types are erased when compiled, and Node.js can run TypeScript files by stripping types without checking them |
| Framework style | Laravel lists dependency injection, a database abstraction layer, queues, scheduled jobs and testing as built-in features (Laravel docs) | Express is minimalist and unopinionated; NestJS adds TypeScript structure on Express or Fastify; Next.js is a React framework for full-stack applications |
| Support window | Each PHP branch gets two years of active and two of security-only support (php.net); Laravel gives 18 months of bug fixes and two years of security fixes (Laravel) | LTS lines typically get critical fixes for 30 months, and production apps should use Active or Maintenance LTS (Node.js releases) |
| Supported today | PHP 8.5, 8.4, 8.3 and 8.2; 8.1 and older are end of life | v26 Current, v24 and v22 LTS; v20 and older are end of life |
| Package registry | Roughly 475,000 packages on Packagist's statistics page | About 6.2 million packages counted by Libraries.io; npm calls itself the largest software registry in the world (npm docs) |
| Usage, Stack Overflow 2026 | PHP 17.7% of respondents; Laravel 7.6%; Symfony 4.0%; WordPress 13.3% | Node.js 46.4%; Next.js 20.6%; Express 15.6%; NestJS 5.8% |
| Developers who want to keep using it ("admired"), 2026 | PHP 35.7%; Laravel 45.2%; Symfony 44.3% | Node.js 46.1%; NestJS 46.3%; Express 39.8%; TypeScript 53.0% |
| Websites, W3Techs, October 22, 2026 | PHP on 69.3% of sites with a known server-side language | JavaScript on 8.1% (W3Techs lists it as a server-side language) |
Two cautions apply. Package counts measure quantity, not quality, and come from different publishers using different methods. And the Stack Overflow figures describe people who answered a self-selected survey, so they say nothing certain about your local hiring market.
Is PHP Dead? What the Data Actually Shows
No, and the data is clear about it. W3Techs reported on October 22, 2026 that PHP is used by 69.3% of all websites whose server-side language it can identify, more than eight times the next language on its list. But "not dead" is not the same as "growing".
| Date | PHP | JavaScript | Java |
|---|---|---|---|
| 1 Jan 2015 | 80.6% | 0.1% | 2.8% |
| 1 Jan 2021 | 79.1% | 1.2% | 3.2% |
| 1 Jan 2023 | 77.7% | 2.3% | 4.6% |
| 1 Jan 2024 | 76.7% | 3.1% | 4.7% |
| 1 Jan 2025 | 75.2% | 4.0% | 5.0% |
| 1 Jan 2026 | 72.4% | 5.4% | 5.4% |
| 22 Oct 2026 | 69.3% | 8.1% | 5.4% |
PHP's share has fallen at every January reading since 2021, and the pace has picked up: down 1.5 points from January 2024 to January 2025, 2.8 points the following year, and 3.1 points in the ten months since (W3Techs history). Since January 2025, W3Techs's JavaScript category rose from 4.0% to 8.1%.
Context matters. W3Techs says in its FAQ that it exploits dependencies between technologies, such as knowing that a WordPress site uses PHP, and it reports WordPress on 39.6% of all websites. A substantial part of PHP's web share is therefore WordPress, which says little about what teams choose for new applications. The developer view is steadier: in the Stack Overflow Developer Survey 2026, 17.7% of respondents (2,490 of 14,099) had done extensive PHP work in the past year, against 18.9% of 31,771 respondents in the 2025 survey. The 2026 sample for that question is smaller, so we read the two years as stable, not as a trend.
Sentiment is mixed. In 2026, PHP trailed TypeScript on the share of users who want to keep using the language (admired: 35.7% against 53.0%), yet Laravel scored 45.2% against 46.1% for Node.js on the same measure (frameworks).
The projects are also maintained actively. php.net lists PHP 8.5 as released on November 20, 2025, with PHP 8.6.0 in release-candidate testing; the PHP 8.5 page lists a pipe operator and a built-in URI extension; and Laravel 13 arrived on March 17, 2026. PHP shipped patch releases roughly monthly through October 2026 (changelog). The fair reading: PHP is mature, widely deployed and slowly losing share. "Dead" is wrong, but so is treating it as the automatic default.
Which Is Faster, PHP or Node.js? What Independent Benchmarks Show
Speed claims in PHP vs Node.js articles are usually unsourced. The most widely used independent source is the TechEmpower Framework Benchmarks, whose latest published round is Round 23 (listed as dated February 24, 2025 and announced March 17, 2025). We pulled two of its tests. Fortunes is the more realistic: each request reads rows from a database through an ORM, adds a row, sorts the list and renders an escaped HTML template. Single query fetches one random database row and returns it as JSON (test descriptions). Figures are requests per second on TechEmpower's hardware.
| Entry | Language and runtime | Fortunes | Single query |
|---|---|---|---|
| Fastify (PostgreSQL) | Node.js | 265,826 | 437,129 |
| Spring | Java, servlet | 243,639 | 205,876 |
| NestJS on Fastify | Node.js (TypeScript) | 160,502 | 164,571 |
| Plain PHP | PHP-FPM, no framework | 146,187 | 171,650 |
| Express (PostgreSQL) | Node.js | 78,136 | 84,189 |
| Slim | PHP micro-framework, PHP-FPM | 73,619 | 77,863 |
| Laravel with Octane | PHP, FrankenPHP | 33,824 | 42,871 |
| Symfony | PHP-FPM | 25,864 | 30,371 |
| Laravel | PHP-FPM | 16,492 | 17,837 |
What the numbers do and do not say
- Framework and configuration moved results more than language did. Plain PHP on PHP-FPM handled roughly nine times as many Fortunes requests as Laravel on the same runtime, and Fastify about three and a half times as many as Express on the same language. Plain PHP also outran Express.
- Fastify and Spring led; full-stack PHP frameworks trailed. In this synthetic test, Laravel on PHP-FPM handled about one-fifth as many Fortunes requests as Express. Octane roughly doubled Laravel's result (33,824 against 16,492), so architecture matters.
- Implementation quality varies. TechEmpower wrote in March 2026 that one Spring and MongoDB entry improved roughly 25 times in its environment after configuration changes contributed with MongoDB's engineers (TechEmpower blog). The test page treats production-grade implementations as a goal, not a strict requirement.
- It is synthetic. The tests exclude your business logic, caching, authentication and third-party calls, and run on one hardware setup. Requests per second is not page speed.
Our advice is to measure your own routes. If a typical request mostly waits on a database query or an outside API, a runtime change helps little and an index or query fix usually pays back first. If you do find a runtime bottleneck, try options inside your stack, such as Octane for Laravel, before concluding a rewrite is justified.
Laravel vs Node.js: Which Framework Fits Which Application?
Because Node.js is a runtime, "Laravel vs Node.js" is really a choice between a full-stack framework and a way of assembling one. Laravel's installation guide describes dependency injection, a database abstraction layer, queues, scheduled jobs and testing, and its starter kits provide authentication scaffolding. Laravel 13 requires PHP 8.3 or newer, and its release notes describe a request-forgery protection middleware. Symfony offers a component-based alternative; its 7.4 long-term-support line requires PHP 8.2 or newer (Symfony).
On the Node.js side, Express is unopinionated, so authentication, validation and project structure are choices your team makes. NestJS wraps Express or Fastify in an opinionated TypeScript architecture. Next.js is a React framework for full-stack applications, built on React Server Components in its App Router; our own website is hand-coded in Next.js. In the 2026 survey, 20.6% of respondents had done extensive Next.js work against 7.6% for Laravel (Stack Overflow).
The two are not mutually exclusive. Laravel's installation guide describes using Laravel as an API backend for a Next.js application, with Laravel providing authentication and data storage. That hybrid keeps a proven PHP back end while modernizing the interface, and it lets you move one piece at a time.
Six Factors That Should Decide Your Backend
These matter more than any single benchmark or headline.
Team skills and hiring
A team that already ships in a stack is your lowest-risk option. Node.js has the larger self-reported pool (46.4% of Stack Overflow 2026 respondents against 17.7% for PHP), but local availability matters more than national percentages.
Workload shape
Conventional page and API requests suit either stack. Long-lived connections favor an event loop, and CPU-heavy tasks belong in queues or workers in any stack.
Existing code and plugins
A working application, and ecosystems like WordPress (39.6% of websites per W3Techs), carry real switching costs. Martin Fowler notes that full replacements often fail, which is why gradual migration exists.
Hosting and operations
PHP-FPM pools and long-running Octane, Reverb or Node.js processes need different monitoring, restarts and limits. Decide who operates the platform before you decide on the language.
Security and patch discipline
Every runtime ships fixes, and end-of-life versions stop receiving them. Your update speed and inventory matter more than which logo is on the runtime.
Support windows and upgrade effort
A PHP branch is supported for four years, a Node.js LTS line typically for 30 months, and a Laravel version for two years of security fixes. Budget for upgrades in whichever stack you pick.
Is PHP or Node.js More Secure?
Neither, by nature. Every mainstream runtime and framework publishes vulnerabilities, and the useful question is how quickly you learn about them and apply fixes. The table collects what the publishers themselves reported. Because projects count and rate issues differently, it is a snapshot of activity, not a ranking.
| Stack | What the publisher reported | Date | Source |
|---|---|---|---|
| PHP | Two critical interpreter flaws, CVE-2026-109618 and CVE-2026-109619, each CVSS v4.0 9.2, allowing unauthenticated remote code execution; fixed in PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35 | October 21, 2026 | CISA, Sophos, CERT-EU |
| Node.js | Ten issues fixed in the v22, v24 and v26 lines: four high, three medium, three low. One high item, a Brotli decoder out-of-bounds write, is headlined as permitting remote code execution | October 21, 2026 | Node.js |
| Node.js | Four security-release announcements in 2026 listing 9, 12, 11 and 10 issues, 42 in total, 11 of them high | March 24 to October 21, 2026 | March, June, July, October |
| Java | Oracle's update lists 55 new Java SE patches, 49 of them possibly remotely exploitable without authentication; Oracle's notes say several apply to clients running untrusted sandboxed code rather than typical servers | October 2026 | Oracle |
| Spring | The first page of Spring's advisory list shows 25 advisories, all dated August 20, 2026, six rated high, across projects including Spring Security, Spring Data REST and Spring AI | August 20, 2026 | Spring |
The PHP2Shell facts, attributed
CISA urged immediate updating, said PHP is often a component of other software, advised taking systems offline if they cannot be updated or run PHP 8.1 or earlier, and said it had not observed exploitation at the time of publication. Sophos reported an exploitation attempt on October 17, before public disclosure, seen by Amazon Threat Intelligence, and CERT-EU assessed that attackers are likely already exploiting the flaws (Sophos, CERT-EU). The NSA said the flaws are in PHP itself, not in hosted applications. Sources differ on how much exploitation has been seen, but agree on the action: update.
Sansec adds that the flaw sits in the PHP engine, so applications are exposed even when their own code is clean, and that researchers demonstrated unauthenticated code execution against PHP software that includes WordPress, Drupal, Laravel and Symfony. That is a statement about the engine, not about Laravel. Our PHP2Shell fix guide covers the check-and-patch steps.
The same pattern exists on every side
- Version cliffs. PHP 8.1 and older no longer receive official fixes; the PHP project published source-only backports for 7.4, 8.0 and 8.1 (Sophos). Node.js states that end-of-life versions are always affected when a security release occurs, and lists v20 and older as end of life (Node.js). See our PHP end-of-life guide.
- Supply chains. CISA reported in September 2025 that a self-replicating worm infected over 500 npm packages and harvested developer credentials. Packagist reported in May 2026 that taken-over accounts and stolen tokens had been used against PHP packages, naming laravel-lang and intercom/intercom-php.
- Framework defaults. Laravel documents built-in request-forgery protection, while Express is unopinionated, so such protections come from middleware you choose (Laravel notes, Express).
Which Backend Should You Choose for Your Project?
When PHP and Laravel are the better choice
- Your team already knows PHP, and a rewrite would mean months of learning before features ship.
- The product is a conventional content, commerce or business application, where Laravel's built-in queues, scheduler, ORM and testing save assembly work.
- You depend on a PHP ecosystem such as WordPress, which W3Techs measured on 39.6% of websites. See our WordPress PHP vulnerability guide.
When Node.js is the better choice
- Your developers write JavaScript or TypeScript and want one language and shared types across front end and back end.
- The product centers on real-time features or many concurrent connections, such as live dashboards, chat or streaming.
- You are building a React or Next.js application, and server rendering, API routes and the back end can live in one codebase.
When Java with Spring Boot is the better choice
- The system is large and long-lived, with many teams and strong typing needs. In the 2026 survey, 50.2% of Spring Boot users wanted to keep using it, the highest among the frameworks compared in this guide (Stack Overflow).
- Throughput matters: Spring's Fortunes result was second only to Fastify in the benchmark table above.
| Your situation | Default choice | Why |
|---|---|---|
| WordPress or another PHP CMS site, supported PHP | Stay on PHP; patch and upgrade | The ecosystem and plugins are the asset; moving rarely pays back without another reason |
| New product, JavaScript or TypeScript team, React front end | Node.js with Next.js or NestJS | One language across layers and a large shared talent pool |
| Real-time features are central | Node.js, or Laravel with Reverb if the team is PHP-based | Event-loop fit versus staying in your stack; check expected connection counts |
| Large multi-team enterprise system | Java with Spring Boot, or another typed platform | Typing, tooling and long-term maintainability |
| App on PHP 8.1 or older with no upgrade path | Upgrade PHP or re-platform | No official fix exists for end-of-life versions; see the PHP end-of-life guide and our migration services |
| Heavy CPU work inside web requests | Move it to queues or workers, in any stack | It blocks the event loop in Node.js and occupies a worker in PHP |
What Do Hosting, Hiring and Running Costs Look Like?
We do not quote prices here, because costs depend on your application and team. The sources do show where the cost drivers sit.
Hosting and operations. A classic PHP deployment is a web server plus PHP-FPM pools, and Laravel's installation guide says to serve the application from the root of the web directory. Octane and Reverb are long-running processes: the Octane guide recommends a process monitor and reloading workers after each deployment, and the Reverb guide says its default event loop is limited to about 1,024 open files, so a uv extension and higher system limits are needed beyond roughly 1,000 concurrent connections. A Node.js application is a long-running process from the start and needs the same care. Neither model is inherently cheaper; the cost is in who maintains the platform.
Hiring. By Stack Overflow's 2026 numbers Node.js has the bigger pool (46.4% of respondents against 17.7% for PHP), though the Node.js figure includes front-end developers and people who use it only for tooling. In the framework list, PHP-based entries were WordPress 13.3%, Laravel 7.6%, Symfony 4.0% and Drupal 2.0% (Stack Overflow). Hiring depth is local, so check job boards in your region and weigh seniority, not just headcount.
Total cost of ownership. The recurring costs are developer time, hosting, upgrades and dependency maintenance. Support windows set your upgrade rhythm: PHP branches last four years, Node.js LTS lines typically 30 months, Laravel gives two years of security fixes, and Symfony 7.4 receives security fixes through November 2029 (Symfony). A migration adds a one-off cost, which is why we recommend it only with a clear reason. Our website optimization and application development teams can scope it after a free assessment.
A Four-Step Way to Choose Your Backend
Write down the workload and constraints
List what the application does: page rendering, APIs, real-time connections, background jobs and CPU-heavy tasks. Add team skills, existing hosting and the PHP or Node.js versions you run today.
Inventory code, dependencies and versions
Confirm the runtime version from the binary itself, as Sophos advises for PHP, and list frameworks, plugins and packages with their support end dates.
Prototype and measure one real route
Profile a representative route with your own database and integrations at realistic concurrency, not a hello-world response, and note the effort to run and patch each option.
Decide, patch first, then migrate in slices
Choose what your team can maintain, update the runtime you run today, and move only where evidence supports it. Our migration approach uses incremental, strangler-style cut-overs.
Want a second opinion on steps one to three? Book a free assessment.
Which Questions Should You Ask Before Picking a Stack?
Work through these in order. The first one you answer "yes" to usually gives your default.
- Is the application running well on a supported version? Then keep it, patch it and upgrade the runtime. Martin Fowler's description of the strangler fig pattern notes that full replacements often fail, taking a long time and rebuilding behavior nobody wanted.
- Is it on a version without official security fixes? PHP 8.1 and older, or Node.js lines past end of life, are the strongest reasons to act. The choice is then between upgrading within the stack and re-platforming.
- Does your team write JavaScript or TypeScript daily, and is the product centered on React or real-time features? Then Node.js with Next.js or NestJS is a strong default.
- Is it a conventional content, commerce or business application, and does your team know PHP? Then Laravel is a strong default.
- Will many teams maintain it for many years? Then add Java with Spring Boot, or another typed platform, to the shortlist.
- Can you measure the difference? Prototype one real route in each finalist and compare latency, effort and operating burden before committing.
If you are considering a move, plan the SEO side too. Google's guidance on site moves with URL changes recommends permanent redirects from each old URL to its new one, kept for generally at least a year, with redirect chains of no more than three hops, and warns to expect temporary ranking fluctuation, which for medium-sized sites can take a few weeks or more. As an SEO agency since 2014, we plan redirects, canonicals and sitemaps alongside the code; see our search engine optimization work and client sites.
What Changes After This Month's PHP2Shell News?
A measured answer: it changes your patching priorities, not the merits of PHP or Node.js. Here is how we read the primary sources, which we re-checked on October 22, 2026 at about 11:20 UTC: Sophos was at version 3 of its advisory (updated October 22) and CERT-EU at version 1.1.
- What it changes: Update PHP to a fixed release (8.5.12, 8.4.27, 8.3.36 or 8.2.35), or apply your distribution, host or appliance vendor's equivalent, and restart workers. Inventory every PHP runtime, including PHP embedded in other products, which CISA notes may not be directly observable. Our PHP2Shell fix guide walks through it.
- What it does not change: The flaws are in the PHP engine, per the NSA and Sansec, so they are not a verdict on Laravel, Symfony or WordPress code quality. Node.js published a release the same day with four high-severity fixes, so switching runtimes would not have removed the need to patch.
- Where it strengthens the case for change: Applications on PHP 8.1 or older have no official fix. Sophos and CERT-EU both point to a supported branch, and the NSA recommends replacing end-of-life PHP services that cannot be patched. The options are an upgrade to PHP 8.2 or newer (see our upgrade guide) or re-platforming.
- What not to do: Treat interim mitigations as a fix. Sophos, CERT-EU and Sansec all describe measures such as blocking multipart uploads or changing PHP settings as partial, not a substitute for updating.
Our conclusion is simple. If your PHP application is supported and patched, this advisory is not a reason to rewrite it. If you already had other reasons to modernize, such as team skills or an unmaintained framework, the news can bring forward a conversation you were going to have anyway. Our PHP to Node.js migration page explains how we handle that, including when we recommend not migrating.
Can You Combine PHP and Node.js, or Move Between Them Safely?
Yes to both, with care. The lowest-risk pattern is incremental: a reverse proxy or gateway sends some routes to the new service while the PHP application keeps serving the rest, and routes move one at a time until the old code can be retired. That is the shape of the strangler fig approach Martin Fowler describes. A common hybrid keeps Laravel for the back end and adds a Next.js front end, or adds a small Node.js service for WebSocket traffic beside a Laravel application. Each part has a clear job, but you then patch two runtimes and watch two sets of dependencies.
When should you not migrate? When the application is stable and patched, when the team has no capacity to learn a new stack, when the driver is a headline rather than a measured problem, or when tuning, a PHP upgrade or Octane would deliver the same benefit. When migration does make sense, we help with architecture, data and search visibility. See our application development, web development and about pages, or read how our migration services work.
Where the Facts on This Page Come From
Every statistic on this page comes from a source we opened and read on October 22, 2026. Where publishers disagree or a count is not comparable, we say so. Security items are stamped with the time we checked them.
- CISA: Critical Vulnerabilities in PHP Require Immediate Patching, Oct 21, 2026 cisa.gov/news-events/alerts/2026/10/21/critical-vulnerabilities-php-re β Patch and offline guidance
- NSA: Critical Patches Recommended for PHP Vulnerabilities, Oct 21, 2026 nsa.gov/Press-Room/Press-Releases-Statements/Press-Release-View/Articl β Flaws in PHP itself
- Sophos advisory sophos-sa-20261021-php2shell, v3, Oct 22, 2026 sophos.com/en-us/security-advisories/sophos-sa-20261021-php2shell β Fixed versions, exploitation attempt
- CERT-EU Security Advisory 2026-018, v1.1 cert.europa.eu/publications/security-advisories/2026-018/ β Affected branches, assessment
- Sansec research: PHP2Shell, Oct 21, 2026 sansec.io/research/php2shell β Engine-level flaw
- PHP.net: supported versions php.net/supported-versions.php β Branch lifecycle
- PHP.net: front page and security announcement php.net/ β Fixed releases
- PHP.net: PHP 8.5 release page php.net/releases/8.5/en.php β Release date, features
- PHP.net: PHP 8 ChangeLog php.net/ChangeLog-8.php β Monthly patch releases
- PHP manual: PHP-FPM php.net/manual/en/install.fpm.php β Worker pools
- PHP manual: Fibers php.net/manual/en/language.fibers.php β Since PHP 8.1
- PHP manual: type declarations php.net/manual/en/language.types.declarations.php β Runtime-enforced types
- Stack Overflow Developer Survey 2026: languages survey.stackoverflow.co/2026/technology/data/languages β PHP 17.7%
- Stack Overflow Developer Survey 2026: web frameworks survey.stackoverflow.co/2026/technology/data/web-framework β Node.js 46.4%
- Stack Overflow Developer Survey 2026: admired frameworks survey.stackoverflow.co/2026/technology/data/da-webframe β Admired shares
- Stack Overflow Developer Survey 2026: admired languages survey.stackoverflow.co/2026/technology/data/da-language β PHP 35.7%
- Stack Overflow Developer Survey 2025: technology survey.stackoverflow.co/2025/technology β PHP 18.9%
- W3Techs: PHP usage statistics w3techs.com/technologies/details/pl-php β PHP 69.3%
- W3Techs: historical yearly trends w3techs.com/technologies/history_overview/programming_language/ms/y β Share since 2015
- W3Techs: WordPress usage statistics w3techs.com/technologies/details/cm-wordpress β 39.6% of websites
- W3Techs FAQ w3techs.com/faq β Detection method
- TechEmpower Framework Benchmarks, Round 23 techempower.com/benchmarks/#section=data-r23&hw=ph&test=fortune β Fortunes, Single query
- TechEmpower: Round 23 announcement, Mar 17, 2025 techempower.com/blog/2025/03/17/framework-benchmarks-round-23/ β Round date
- TechEmpower: 25x MongoDB improvement, Mar 16, 2026 techempower.com/blog/2026/03/16/how-our-benchmarks-led-to-a-25x-mongod β Configuration effects
- TechEmpower wiki: framework tests overview github.com/TechEmpower/FrameworkBenchmarks/wiki/Project-Information-Fr β Test definitions
- Node.js: release schedule nodejs.org/en/about/previous-releases β LTS policy
- Node.js: October 21, 2026 Security Releases nodejs.org/en/blog/vulnerability/october-2026-security-releases β Ten issues
- Node.js: July 29, 2026 Security Releases nodejs.org/en/blog/vulnerability/july-2026-security-releases β Eleven issues
- Node.js: June 18, 2026 Security Releases nodejs.org/en/blog/vulnerability/june-2026-security-releases β Twelve issues
- Node.js: March 24, 2026 Security Releases nodejs.org/en/blog/vulnerability/march-2026-security-releases β Nine issues
- Node.js: introduction nodejs.org/en/learn/getting-started/introduction-to-nodejs β Single process
- Node.js: don't block the event loop nodejs.org/en/learn/asynchronous-work/dont-block-the-event-loop β Blocking risk
- Node.js: running TypeScript natively nodejs.org/en/learn/typescript/run-natively β Type stripping
- Laravel 13: release notes and support policy laravel.com/docs/13.x/releases β Support windows
- Laravel 13: Octane laravel.com/docs/13.x/octane β In-memory workers
- Laravel 13: Reverb laravel.com/docs/13.x/reverb β WebSockets
- Laravel 13: installation laravel.com/docs/13.x/installation β Built-in features
- Symfony releases symfony.com/releases β 7.4 LTS dates
- Packagist statistics packagist.org/statistics β Package count
- Libraries.io: npm libraries.io/npm β Package count
- npm docs: about npm docs.npmjs.com/about-npm β Registry description
- Express expressjs.com/ β Framework description
- NestJS documentation docs.nestjs.com/ β Framework description
- Next.js documentation nextjs.org/docs β Framework description
- TypeScript typescriptlang.org/ β Types erased
- OpenJDK JEP 444: virtual threads openjdk.org/jeps/444 β Final in Java 21
- Oracle Critical Patch Update, October 2026 oracle.com/security-alerts/cpuoct2026.html β Java SE patches
- Spring security advisories spring.io/security β Aug 20, 2026 entries
- CISA: npm supply chain compromise, Sep 23, 2025 cisa.gov/news-events/alerts/2025/09/23/widespread-supply-chain-comprom β Worm, 500+ packages
- Packagist blog: supply chain security, May 27, 2026 blog.packagist.com/an-update-on-composer-packagist-supply-chain-securi β Account takeovers
- Martin Fowler: Strangler Fig Application martinfowler.com/bliki/StranglerFigApplication.html β Gradual replacement
- Google Search Central: site moves with URL changes developers.google.com/search/docs/crawling-indexing/site-move-with-url β Redirect guidance
Frequently Asked Questions
Not sure which backend fits your application?
Our free 30-minute architecture assessment compares patching and upgrading, incremental migration and staying put for your application, and we will tell you plainly if staying is the right answer.
12 W Sunrise HWY, Lindenhurst, NY 11757 Β· MonβFri 9 AM β 6 PM ET
Talk to Us About Your Backend Choice
Tell us what your application does, which PHP or Node.js version it runs and what is driving the question. We will tell you honestly whether to patch, upgrade or migrate.
