问题标签 [php-pthread]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
646 浏览

php - PHP Pthread 类中的 Yii 框架上下文

我正在研究PHP Pthreads。我写了一个继承“线程”类的类。此类不识别 Yii (1.x) 框架上下文。我不能使用任何 Yii 框架组件或模型。我已经确保线程类应该驻留在配置中“导入”中定义的 Yii 框架的可访问路径中。

这是我如何编写线程类的示例。

更新:

这是 Yii 配置中的导入器数组。

难道我做错了什么 ?

谢谢

阿尔芬

0 投票
1 回答
1494 浏览

php - 使用 --enable-maintainer-zts 编译 PHP 时的缺点或副作用(使用 php pthread)

我有一个 Web 应用程序,并且在生产环境中使用 PHP 5.5.5 运行良好。

现在在同一台服务器上,我需要运行一些使用 php pthread (v. 2.0.10) 的 PHP 脚本

--enable-maintainer-zts使用(以允许使用 pthread)重建 php 并为 Web 应用程序使用 php-pthread 的 CLI 脚本使用相同的可执行文件是否安全

或者我应该构建两个 PHP: phpphp-zts并将前者用于 Web 应用程序,而将后者用于 CLI 脚本?

由于--enable-maintainer-zts默认情况下未启用,我认为它有一些缺点或更糟(正如我在这里阅读的那样https://github.com/travis-ci/travis-ci/issues/985)可能会引入错误行为(错误)。

Web 堆栈是Mac OS X 10.9.5 上的nginx + php-fpm + mySql 。

我想明确一点: web 应用程序脚本不会使用phtread。只能通过 CLI 脚本。

0 投票
1 回答
250 浏览

php - 使用线程对象作为多维关联数组 PHP Pthreads

我的问题

我正在尝试在基于 pthreads 的 CLI 应用程序中的不同线程之间共享多维关联数组。我遇到的问题是在不覆盖以前的键的情况下分配键和值。

简单示例

我创建了一个简单的示例,希望能反映我在真实代码中想要实现的目标。

我希望这个输出是 foo 和 bar 数组都有 20 个键和值,范围从 1 到 20。

然而,这个的实际输出是:

考虑到https://github.com/krakjoe/pthreads/blob/master/examples/StackableArray.php中所写的内容,这对我来说有点意义,即“pthreads 使用我们自己的处理程序覆盖维度读取/写入器。我们的内部处理程序未设置为执行 ArrayAccess 接口。”

当我尝试使用 Threaded::merge 时,它​​会覆盖键(如果第二个参数设置为 true)或忽略重复项,而不是将具有相同键的嵌套数组连接在一起。

我的问题

扩展 Threaded 时如何设置和获取多个维度的键和值?

我正在使用 PHP 7.04 版和 Pthreads 3.1.6 版。

0 投票
1 回答
256 浏览

php - 如何将一些数据传递给 PHP 中正在运行的线程?

因此,假设我创建了一个线程并将其与主进程分离,然后启动它。

那么,在线程分离后,如何将一些数据块(如strings, 或ints )传递给已经运行的线程?

编辑 我基本上在做的是尝试实现 WS 协议:

我找到了与将数据传递给正在运行的线程相关的各种答案,但我找不到任何专门针对PHP.

我正在使用pthread

0 投票
1 回答
1198 浏览

php - 如何在 PHP7 中使用 pThreads 进行多线程处理?工人、游泳池等

我目前想学习和实现pthreads-github。我已经编译php7了必要的组件并验证了它thread-safety已启用。我当前的示例代码有 4 个属于父类的子类Canine。我应该如何Thread相应地调用该类以同时bark()从下面显示的所有类中执行?记住当班级从 4 个增加到 100 个时扩展的能力。池?工人?

0 投票
1 回答
83 浏览

php - 如何在运行函数中访问线程构造函数的变量?

我想在我的运行函数中使用 db 的值。如何在不更改 $db 值的情况下通过 run() 访问线程构造函数变量。

0 投票
2 回答
2409 浏览

laravel-5 - Laravel 命令、Pthread 和闭包

一个特定的进程需要执行多个线程。我了解了 php 的扩展 - pthreads。

例如,在 Laravel 之外的一个简单脚本运行良好,我喜欢它的结果。我决定搬到 Laravel,并面临这个问题。当然我在google上搜索,在stackoverflow上发现了一些问题,其中回复了扩展的作者。但我没有帮他回答,所以我请你帮帮我。

已回答问题扩展作者。

有一个类 App\Commands\QuestionsParserCommand。在里面,我创建了 App\My\Questions\QuestionsParser 类的一个实例,并调用了方法 init()。然后是方法init()的代码:

ParserWorkers 类继承自 Worker,但有一个空方法 run()。

结果,我运行脚本并在 php 的日志中得到一条消息:

信息:Laravel 5.2.43、php 7.0.8、Windows

谢谢大家!

0 投票
0 回答
33 浏览

php - 不能从内部类重载 Threaded::run

这是我正在尝试的要点

如您所见,它应该在 pthreads_thread_entry 父级中重载运行,但事实并非如此。

应该打印一个线程 id 并休眠 10 秒,但它不打印任何东西(但var_dump($test->start())返回 bool true)并且它不休眠。但是,直接调用$test->run();将起作用(但可能不在它自己的线程中 - 尚未测试)

是什么赋予了?如何在 pthread ext 的自定义内部类中重载 Threaded::run?

0 投票
1 回答
900 浏览

php - 对同一个 API 端点执行多个同时 POST 调用

我正在尝试执行多个POSTREST 调用。问题:同时进行多个 POST 调用。我完全意识到并与图书馆合作过,guzzle但我还没有想办法正确地做到这一点。我可以GET异步执行调用,但没有任何相同级别的POST调用。然后我偶然发现pthreads并阅读了文档,并且对如何启动它感到有些困惑。我已经编译phppthreads扩展名。

有人可以建议如何同时执行多个POST呼叫并能够收集响应以供以后操作吗?

下面是一个循环和等待的基本实现。整体非常慢。

0 投票
1 回答
56 浏览

php - 如何在 PHP 7.0.2 中使用 Symfnony2 将 Doctrine2 注入线程?

以前它与 PHP 5.6.3、pthreads、Symfony2、Doctrine2、MongoDB 版本一起工作,一切都运行良好。我决定迁移到 PHP 7.0.2,我安装了 pthreads,我仍在使用 Symfony2、Doctrine2 和 MongoDB,但多线程处理停止工作。

我已经定义了以下类:

错误在保存方法中。我非常感谢解决此错误的任何帮助。即使在公式和元素线程中对 Doctrine 的使用进行任何优化也会非常有帮助。谢谢你。