Wahl zwischen threadsicherem und nicht-threadsicherem PHP: Wie trifft man die richtige Entscheidung?
P粉350036783
P粉350036783 2023-12-23 23:34:59
0
1
632

Ich entwickle eine Laravel 9.x-Anwendung in Windows 10. Meine aktuelle PHP-Version ist PHP 8.1.5 (cli) (build: Apr 12 2022 17:38:57) (ZTS Visual C++ 2019 x64) . Handelt es sich um eine Thread-sichere Version oder eine nicht Thread-sichere Version? woher soll ich das wissen? Wann sollte ich die Thread-sichere Version der nicht Thread-sicheren Version vorziehen?

Ich habe versucht, diese Frage auf StackOverflow zu recherchieren, aber die Fragen/Antworten, die ich gesehen habe, schienen ein Jahrzehnt oder älter zu sein – so etwas in der Art – und ich vermute stark, dass ich, wenn ich diese Frage heute stellen würde, wahrscheinlich eine andere Antwort bekommen würde Das liegt daran, dass sich die Technologie in den letzten Jahren verändert hat. Ist das eine vernünftige Annahme? (Zumindest meine aktuelle PHP-Version verwendet offenbar den neueren Compiler VC++ 2019, nicht VC6 oder VC9.)

Ich weiß noch nicht, wie meine Produktionsumgebung aussehen wird oder ob die App, die ich entwickle, es jemals in die Produktion schaffen wird, da es sich lediglich um eine App handelt, die ich schreibe, um Laravel (wieder) zu lernen. Ich werde das wahrscheinlich irgendwann als Demo für eine Laravel-App in Produktion bringen, aber ob es auf einem Hosting-Dienst, Netlify oder etwas anderem sein wird, weiß ich noch nicht.

Nur um Ihnen etwas Hintergrundwissen zu geben: Diese Frage wurde nur gestellt, weil ich lernen wollte, wie man den Laravel-Quellcode durchgeht, um ein Problem zu debuggen, was offensichtlich erforderte, dass ich XDebug zu XAMPP hinzufügte. Die Anweisungen, die ich zur Installation von XDebug gefunden habe, haben mich hierher verwiesen und mir empfohlen, die Windows-Binärdateien für meine PHP-Version herunterzuladen. Es gibt keine Binärdateien für 8.1.5, daher weiß ich nicht, ob eine der Binärdateien für 8.1 funktioniert oder ob es besser ist, 8.1 Thread-sicher oder 8.1 nicht Thread-sicher zu verwenden. Es wäre besser, wenn mein PHP zuerst auf 8.2 aktualisiert würde. Ich weiß immer noch nicht, ob Thread-sicher oder nicht-Thread-sicher die bessere Option ist.

Kann mir jemand etwas zu diesen Problemen sagen?

P粉350036783
P粉350036783

Antworte allen(1)
P粉033429162

这是线程安全版本还是非线程安全版本?我怎么知道?

您可以使用旧的 phpinfo() 函数并查找Thread Safety 列。

如果您在 PATH 环境中设置了 PHP,您甚至可以使用快速命令通过 CLI 获取它 php -i | grep 线程

什么时候我应该选择线程安全版本而不是非线程安全版本?

根据PHP官方文档

我还不知道我的生产环境会是什么样......

一般来说,TS 或 NTS 代码执行没有区别。它更多地面向网络服务器。

如果我没记错的话,默认情况下,XAMPP 使用 Apache Handler,因此它可能是线程安全的构建。是的,PHP8.1 的 Xdebug 二进制文件可以正常工作。

从技术上讲,NTS 应该稍微快一些,因为它不需要考虑线程安全。

就我个人而言,我认为这并不重要,除非您想花更多的时间来修改网络服务器,切换到 FastCGI 或 PHP-FPM,因为您仍处于开发阶段,我认为坚持默认设置并专注于完成它会更有效率。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage