dtgreene: I wouldn't put PHP and Rust in the same category.
If anything, I would say that Python and node.js are the main replacements for PHP here. Python is a great general purpose scripting language for when performance is not critical, while node.js is good for JavaScript programmers who want to write server-side code without having to learn a new language (or for an employer who wants to employ such people).
Rust, on the other hand, is more like C but with modern features and significantly more strict. C will let you get away with a lot, including things that will crash or cause undefined behavior at runtime (note that "undefined behavior" can include the possibility of remote code execution!), while Rust will say no in many of these cases. Thing is, development in Rust is still slower than in a language like Python, so it's best suited to situations where you need high performance (or have limited resources) and the code absolutely needs to be correct. I would seriously consider Rust for situations like rockets, where a mistake can be extremely costly, or perhaps even medical devices, where a bug can cause loss of life.
This. I'll also add in the case of Node that it's also appropriate in a lot of cases where Python is not for performance reasons.
For starters, its somewhere between Python and garbage-collected compiled languages (ie, Java, Golang, a couple of others) in terms of overall performance, because it runs on a browser engine (which at this point have almost two decades of optimisation done by several big corporations to run Javascript code in the browser as quickly as humanly possible).
Also, while Python has an evolving asynchronous ecosystem, Node was asynchronous from the ground up, meaning it has a lot of mature tools that are very efficient for concurrent io operations (disk operations, network, etc), which tend to be the main bottleneck for a lot of use-cases.
Of course, its a two-edged sword. Coding something to be asynchronous takes more time and requires more developer maturity. When you don't need to run an insane number of concurrent io operations, Python is faster to work with (ie, developer time).
If you really like functional programming, Node has an ecosystem for that (ex: Ramda). Python doesn't really (it has the capacity for it, but nobody bothered making mature libraries that enables it, meaning you'd either have to rely on less mature libraries or build your own tooling for it).
And finally, Python has some well developed, highly optimised (usually written in C) ecosystem for ai & data science (Spark, Panda, Numpy and many more), which Node barely touches so if that's what you are working on, you are better off with Python (assuming you are not using Scala in the case of Spark or a more specialised language like Julia or R in the case of data science overall).
Overall, it pays to put your eggs in several baskets. In my case, I'm a very skilled Node & Python developer. I used to be great in C++, though I haven't used it in years now (use-cases for it tend to be very specific) so my knowledge in that language would be considered dated at this point. I'm currently ramping up in Golang (I want to know well at least one language that is faster to work with than C++, but which also has faster runtime characteristics than Python/Node and which can run by itself as a small binary without needing a runtime to be installed).