访问index后,页面会立即响应,但是控制台会在30秒内会出现报错
<?php
namespace app\controller;
use support\Request;
class IndexController
{
public function index(Request $request)
{
$http = new \Workerman\Http\Client();
$response = $http->get('https://www.baidu.com/');
var_dump($response->getStatusCode());
var_dump($response->getBody()) ;
return 'hello world';
}
}
D:\phpstudy_pro\WWW\newsmid>php windows.php
---------------------------------------------- WORKERMAN -----------------------------------------------
Workerman/5.1.3 PHP/8.2.28 (JIT off) Windows NT/10.0
----------------------------------------------- WORKERS ------------------------------------------------
worker listen processes status
webman http://0.0.0.0:8787 1 [ok]
monitor none 1 [ok]
int(200)
object(Workerman\Psr7\Stream)#75 (7) {
["stream":"Workerman\Psr7\Stream":private]=>
resource(202) of type (stream)
["size":"Workerman\Psr7\Stream":private]=>
int(227)
["seekable":"Workerman\Psr7\Stream":private]=>
bool(true)
["readable":"Workerman\Psr7\Stream":private]=>
bool(true)
["writable":"Workerman\Psr7\Stream":private]=>
bool(true)
["uri":"Workerman\Psr7\Stream":private]=>
string(10) "php://temp"
["customMetadata":"Workerman\Psr7\Stream":private]=>
array(0) {
}
}
TypeError: feof(): supplied resource is not a valid stream resource in D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Connection\TcpConnection.php:838
Stack trace:
#0 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Connection\TcpConnection.php(838): feof(Resource id #186)
#1 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Connection\TcpConnection.php(645): Workerman\Connection\TcpConnection->doSslHandshake(Resource id #186)
#2 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Events\Swow.php(292): Workerman\Connection\TcpConnection->baseRead(Resource id #186)
#3 [internal function]: Workerman\Events\Swow->Workerman\Events\{closure}()
#4 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Events\Swow.php(290): Swow\Coroutine::run(Object(Closure))
#5 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Events\Swow.php(152): Workerman\Events\Swow->safeCall(Object(Closure), Array)
#6 [internal function]: Workerman\Events\Swow->Workerman\Events\{closure}()
#7 {main}
TypeError: stream_socket_accept(): supplied resource is not a valid stream resource in D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Worker.php:2642
Stack trace:
#0 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Worker.php(2642): stream_socket_accept(Resource id #91, 0, NULL)
#1 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Events\Swow.php(292): Workerman\Worker->acceptTcpConnection(Resource id #91)
#2 [internal function]: Workerman\Events\Swow->Workerman\Events\{closure}()
#3 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Events\Swow.php(290): Swow\Coroutine::run(Object(Closure))
#4 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Events\Swow.php(152): Workerman\Events\Swow->safeCall(Object(Closure), Array)
#5 [internal function]: Workerman\Events\Swow->Workerman\Events\{closure}()
#6 {main}
TypeError: feof(): supplied resource is not a valid stream resource in D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Connection\TcpConnection.php:664
Stack trace:
#0 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Connection\TcpConnection.php(664): feof(Resource id #171)
#1 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Events\Swow.php(292): Workerman\Connection\TcpConnection->baseRead(Resource id #171)
#2 [internal function]: Workerman\Events\Swow->Workerman\Events\{closure}()
#3 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Events\Swow.php(290): Swow\Coroutine::run(Object(Closure))
#4 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Events\Swow.php(152): Workerman\Events\Swow->safeCall(Object(Closure), Array)
#5 [internal function]: Workerman\Events\Swow->Workerman\Events\{closure}()
#6 {main}
TypeError: feof(): supplied resource is not a valid stream resource in D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Connection\TcpConnection.php:664
Stack trace:
#0 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Connection\TcpConnection.php(664): feof(Resource id #172)
#1 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Events\Swow.php(292): Workerman\Connection\TcpConnection->baseRead(Resource id #172)
#2 [internal function]: Workerman\Events\Swow->Workerman\Events\{closure}()
#3 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Events\Swow.php(290): Swow\Coroutine::run(Object(Closure))
#4 D:\phpstudy_pro\WWW\newsmid\vendor\workerman\workerman\src\Events\Swow.php(152): Workerman\Events\Swow->safeCall(Object(Closure), Array)
#5 [internal function]: Workerman\Events\Swow->Workerman\Events\{closure}()
#6 {main}
process D:\phpstudy_pro\WWW\newsmid\runtime\windows\start_webman.php terminated and try to restart
Windows 11 专业版 24H2
php-8.2.28-nts-Win32-vs16-x64
workerman/webman-framework 2.1.2
workerman/http-client 3.0.3
workerman/workerman 5.1.3
你好,看一下worker启动前有没有设置协程驱动,https://www.workerman.net/doc/workerman/coroutine/coroutine.html



开启了,是swow,不是swoole
https://www.workerman.net/q/14264
明白是swow,官网这儿截图只有swoole和Fiber。
你可以看看这个问答能不能帮到你。
另外,我比较建议使用Linux进行开发,因为基本上现在的生产环境都是Linux。你可以使用WSL或者虚拟机。
好的