EXECUTES MORE SLOWLY THAN OTHER LANGUAGES
Before understanding the ground that stays behind this fact, you need to understand the difference between compiling and interpreting languages. Both perform the same function: interpret the human-readable code into machine-readable (ones and zeros, zeros and ones). With compiled languages, the computer directly translates the code. Because of that, they operate faster. With interpreting ones, you will need an additional program for that – interpreter. With each request, it interprets everything from scratch. That’s why it tends to be slower.
PHP is an interpreting language, that’s why it seems slower than compiling alternatives. However, sacrificing the speed, it provides flexibility in debugging and allows to get shorter feedback cycles. Plus, if you do care about the speed, you can go for PHP accelerators and cache extensions.
INCONSISTENCY
The other side of PHP’s flexibility is its inconsistency. The lack of structure and strict architecture allows devs to choose the way of coding that is convenient to them. And it doesn’t mean on the couch vs by the table. It means the codes of different PHP devs may look different. Also, one of the issues with the code’s structure is something IT community likes to call Spaghetti code, which is a poorly-structured application with difficult to understand and maintain code. This issue can be solved with the implementation of frameworks, OOP solutions, and others.
SECURITY FLAWS
Because of its open-source nature, the code can be viewed by everyone who knows how to find access to it. It doesn’t mean they can change some info. However, hackers may notice bugs and structural issues, and use them for malicious purposes. To avoid such issues, it’s necessary to hire only the professionals, who, even if they make mistakes, will be able to notice and solve them.
However, because it’s so popular and easy to learn, there are a lot of newbies, non-professional people, amateurs and “dummies”. They will do basic things, however, the will also make basic mistakes. All in all, the biggest security flaw of all systems is the person who works with it.