Heim > Artikel > Backend-Entwicklung > Warum kann PHP keine großen Systeme ausführen?
Warum ist PHP nicht für den Aufbau großer Systeme geeignet? Jeder muss denken, dass es sich um ein Sicherheitsproblem handelt. Aber es ist nicht nur das. Lassen Sie mich es Ihnen unten vorstellen.
Warum kann PHP keine großen Systeme ausführen? Was ist der Grund?
Verwirrende Lizenzen
Sie denken vielleicht, dass PHP kostenlos ist und alle im Handbuch erwähnten PHP-Module auch kostenlos sind. Falsch! Wenn Sie beispielsweise PDF-Dateien in PHP generieren möchten, finden Sie im Handbuch zwei Module: PDF und ClibPDF. Beide sind jedoch kommerziell lizenziert. Daher müssen Sie für jedes Modul, das Sie verwenden, sicherstellen, dass Sie dessen Lizenz zustimmen.
Inkonsistente Regeln für die Benennung von Funktionen
Einige Funktionsnamen bestehen aus mehreren Wörtern. Im Allgemeinen gibt es drei Arten von Wortkombinationen:
Direktes Zusammenfügen: getnumberoffiles
Getrennt durch Unterstriche: get_number_of_files
Camel-Regel: getNumberOfFiles
Die meisten Sprachen Wählen Sie unter ihnen eine Mittelschule. Es wird aber PHP verwendet.
Hell of Magic Quotes
Magic Quote kann PHP-Skripte vor SQL-Injection-Angriffen schützen. Das ist gut. Aus bestimmten Gründen können Sie diese Konfiguration jedoch in php.ini deaktivieren. Wenn Sie also ein flexibles Skript schreiben möchten, müssen Sie immer überprüfen, ob magische Referenzen aktiviert oder deaktiviert sind. Ein solches „Feature“ soll die Programmierung erleichtern, tatsächlich macht es es aber komplizierter.
Viele PHP-Module sind nicht threadsicher
Vor einigen Jahren veröffentlichte Apache Version 2.0 des Webservers. Diese Version unterstützt den Multithreading-Modus, bei dem ein Teil der Software mehrere Teile gleichzeitig ausführen kann. Der Erfinder von PHP sagt, dass der Kern von PHP threadsicher ist, Nicht-Kernmodule jedoch möglicherweise nicht. In neun von zehn Fällen möchten Sie dieses Modul jedoch in einem PHP-Skript verwenden, was jedoch dazu führt, dass Ihr Skript nicht mit dem Multithread-Modus von Apache kompatibel ist. Aus diesem Grund empfiehlt das PHP-Team nicht, PHP im Multithread-Modus von Apache 2 auszuführen. Die schlechte Unterstützung des Multithread-Modus von PHP wird oft als einer der Gründe dafür angeführt, dass Apache 2 nach wie vor unbeliebt ist.
Nicht standardmäßige Datumsformatzeichen
Viele Programmierer sind mit Datumsformatzeichen vertraut, die aus den Sprachen UNIX und C stammen. Mehrere andere Programmiersprachen haben diesen Standard übernommen, aber seltsamerweise verfügt PHP über einen eigenen Satz völlig inkompatibler Datumsformatzeichen. In C repräsentiert „%j“ den Tag des Jahres und in PHP den Tag des Monats. Um die Sache jedoch noch verwirrender zu machen: Die strftime-Funktion und die date_format-Funktion von Smarty (einer beliebten PHP-Template-Engine) verwenden C/UNIX-Formatierungszeichen.
Empfohlenes Lernen: PHP-Tutorial
Das obige ist der detaillierte Inhalt vonWarum kann PHP keine großen Systeme ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!