【问题标题】:“Fatal error class 'Thread' not found in…” when trying to use PHP pthreads尝试使用 PHP pthread 时出现“在...中找不到致命错误类 'Thread'”
【发布时间】:2013-08-14 16:44:54
【问题描述】:

我正在为毕业做一个项目,我需要在 PHP 中启用 pthreads,因为我需要多线程。我使用了a tutorial,但出现此错误:Fatal error class 'Thread' not found in…

我在网上搜索了有关如何启用 pthread 的帮助,但没有任何帮助。我使用的是 PHP 版本 5.4.7。

【问题讨论】:

    标签: php multithreading pthreads


    【解决方案1】:

    遇到同样错误的用户在 github 上发布了解决方案:https://github.com/krakjoe/pthreads/issues/154

    简而言之,您必须将 pthreadVC2.dll 添加到 Apache 配置中...我不知道这一点,我不使用 Windows ...

    这应该可以让你排序......

    【讨论】:

      【解决方案2】:

      dll 应该与您的 php 版本兼容

      检查这个答案 pthread not working in php

      【讨论】:

        【解决方案3】:

        PHP 中没有“线程”。您可以使用 pctnl_fork() 派生一个新的“进程”,但是两个进程之间没有内置的共享内存(您必须实现 shmop() 或套接字服务器设置才能在进程之间进行通信)。此外,pcntl_* 仅适用于 linux 设置,而不适用于 windows。

        【讨论】:

        • 那么 pthreads 的用法是什么???在 php 中有一个完整的文档在谈论它们...php.net/manual/en/book.pthreads.php 您对使用 pctnl_fork() 的建议是否经过测试?(一些例子)?跨度>
        • 我已经实现了一个有多个在线用户的搜索引擎系统,我的老师现在希望每次设置搜索按钮时都开始一个新的过程。所以如果不同用户点击的按钮我们正在谈论多线程...我不知道我是多么准确,因为您说 php..im 中没有线程复杂..
        • 哇。这根本没有必要。每次有人打开网站时都会启动一个新进程。每个会话(浏览器)是完全独立的,不会与碰巧同时进来的其他请求占用相同的内存空间。只需编写脚本来处理您认为是一台机器的机器,它就可以在所有机器上运行。
        猜你喜欢
        • 2016-06-14
        • 2012-09-22
        • 1970-01-01
        • 1970-01-01
        • 2010-09-18
        • 2012-11-01
        • 2015-09-13
        • 1970-01-01
        • 2010-11-29
        相关资源
        最近更新 更多