【问题标题】:Find if the installed PHP is threadsafe or nonthreadsafe?查找安装的 PHP 是线程安全的还是非线程安全的?
【发布时间】:2011-08-13 13:53:27
【问题描述】:

如何判断安装的PHP版本是线程安全的还是非线程安全的?

请注意,我不是在问线程安全/非线程安全安装之间的区别。我想知道当前安装了什么。

【问题讨论】:

  • @Haim 那不是我的问题,Haim。我看到了那个线程。我已经在这台服务器上安装了 PHP。它与 IIS 一起工作。但是,我需要找出使用哪个设置来安装这个...线程安全设置/非 theadsafe 设置?

标签: php iis thread-safety


【解决方案1】:

打开 phpinfo() 并搜索 Thread safety 行。对于线程安全的构建,您应该找到 enable

Muhammad Gelbana 在 cmets 中指定您也可以使用:

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

【讨论】:

  • 在 Windows 上:php -i|find "Thread" 在 *nix 上:php -i|grep Thread
  • 请注意:php -i | find "Architecture" 检查是 x86 还是 x64
  • @checksum 是php -i | grep Architecture
【解决方案2】:

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

  • *尼克斯:

    php -i | grep -i "Thread"
    
  • 窗户:

    php -i | findstr -i "thread"
    

这应该给你这样的东西:

Thread Safety => enabled

Thread Safety => disabled

【讨论】:

  • 不是一个好主意,因为服务器使用的 PHP 版本可能与操作系统选择的 PHP 版本不同(默认)。
【解决方案3】:

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

【讨论】:

    【解决方案4】:

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

    <?php
    
    if (ZEND_THREAD_SAFE) {
        echo 'Thread safe';
    } else {
        echo 'Not thread safe';
    }
    

    https://3v4l.org/tALKX

    【讨论】:

      【解决方案5】:

      创建一个新的 PHP 文件并将此代码插入其中:

      <?php
      phpinfo(); ?>
      

      然后运行这个页面,你会发现所有的 PHP 信息。搜索您想要的字词,它会显示它已启用。

      【讨论】:

        【解决方案6】:

        检查您的安装是 Apache 模块还是 CGI 二进制。请参阅堆栈溢出问题What is thread safe or non-thread safe in PHP?

        【讨论】:

        • 如何检查?当然它被 IIS 使用..但是我如何找出它是什么模块?那是我的问题……我并不是要问线程安全/非线程安全之间的区别。我需要知道安装的版本是否是线程安全的/不是
        • 好的,我刚刚调查了一下,是的,有2 builds 可用;安全和不安全。根据此install guide for IIS7 建议进行非线程安全安装。如果“线程”这个词出现在任何地方,你能打开一个 phpinfo() 和 se 吗?
        • 是的,phpinfo 里面有信息...刚刚找到...谢谢@Philiplip
        【解决方案7】:

        检查它的另一种方法是使用php -vphp --version。下面是我(NTS)的示例:

            $ php --version
            
            PHP 7.3.25-1+ubuntu20.04.1+deb.sury.org+1 (cli) (built: Dec 26 2020 10:32:51) ( NTS )       
            Copyright (c) 1997-2018 The PHP Group
            Zend Engine v3.3.25, Copyright (c) 1998-2018 Zend Technologies
            with Zend OPcache v7.3.25-1+ubuntu20.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
        

        【讨论】:

          猜你喜欢
          • 2010-12-10
          • 2011-03-30
          • 2011-11-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多