查找已安装的PHP是线程安全还是非线程安全?

Jos*_*osh 77 php iis thread-safety

如何确定已安装的PHP版本是线程安全还是线程安全?

请注意,我不是要求线程安全/非线程安全安装之间的区别.我想知道目前安装的是什么.

gru*_*unk 152

打开phpinfo()并搜索线程安全性.对于线程安全的构建,您应该找到启用.

根据Muhammad Gelbana的评论中的规定,您还可以使用:

  • 在Windows上: php -i|findstr "Thread"
  • 在*nix上: php -i|grep Thread

  • 在Windows上:`php -i | find"Thread"`On*nix:`php -i | grep Thread` (14认同)
  • 自我注意:`php -i | 找到"架构"`来检查它是x86还是x64 (6认同)

Mat*_*att 21

如果您更喜欢使用命令行:

这应该给你这样的东西:

Thread Safety => enabled
Run Code Online (Sandbox Code Playgroud)

要么

Thread Safety => disabled
Run Code Online (Sandbox Code Playgroud)


Fle*_*lam 6

我只是发现在php的根文件夹中查看名为php[version].dll的文件更容易。它是 php[version].dll 或 php[version]ts.dll(ts 代表线程安全)。因此,如果您安装了 php7.0.10,请转到具有此名称的目录,您将找到一个名为 php7ts.dll 的文件。这是一种非常可悲的发现方式,但它有效!


Shi*_*ai7 6

然后是未记录的ZEND_THREAD_SAFE常量,它似乎自 PHP 4.3 以来就存在。

<?php

if (ZEND_THREAD_SAFE) {
    echo 'Thread safe';
} else {
    echo 'Not thread safe';
}
Run Code Online (Sandbox Code Playgroud)

https://3v4l.org/tALKX