我正在尝试在我的一台服务器上安装多线程 PHP 系统。读过一些资料后,最简单的解决方案似乎是使用带有amphp\thread
执行。
http://www.mullie.eu/parallel-processing-multi-tasking-php/
所以,如果我是对的,步骤如下:
- 安装带有 ZTS 和 Pthreads 的 PHP 5.5+(http://eddmann.com/posts/compiling-php-5-5-with-zts-and-pthreads-support/)
- 然后安装需要 php-uv 或 libevent 的 amphp
当我尝试安装时php-uv
,我在步骤中收到错误:
make -C libuv CFLAGS=-fPIC
因为 libuv 目录不在 git 上所以我认为我遗漏了一些东西......
尽管如此,我还安装了 php libevent,如果我没有误解 README 的话,它可以解决问题amphp
。
- 我如何测试这种库是否安装正确?我没有收到任何错误,但谁知道呢?**
- 另外,我
amphp
按照composer
文档中的说明进行安装。但是,我如何测试安装是否顺利?
然后,如果我认为一切顺利,我现在就可以安装了amphp/thead
。与作曲家有同样的问题,我如何确定它没问题?
然后,我应该准备好了,所以我test.php
用示例代码创建了一个文件,amphp/thread
当然……我收到一个错误,说Amp\Thread\Dispatcher
找不到该类。当然,我在 CLI 中运行它。
总而言之,我只在安装时遇到错误,php-uv
而这似乎不是运行该课程所必须的。所以我很确定我遗漏了某些东西,但不知道是什么……
答案1
你不需要uv
也不需要libevent
,他们不一起玩pthreads
。
现在有稳定版本amphp/amp
, 但amphp/thread
仍然不稳定,甚至还没有更新到稳定版本amp
。
如果安装过程中没有出现错误,则表示一切顺利。这对于 Linux 来说很常见,如果没有消息,则表示一切正常。
要开始test.php
运行composer
,您必须包含自动加载器:
<?php
require __DIR__ . "/vendor/autoload.php";
// your code here...
您可以使用
amphp/thread
,但请注意,API 可能随时更改,恕不另行通知。