我用GatewayWorker做webserver 关于XMLHttpRequest跨域问题

elvin226

XMLHttpRequest cannot load “”“”. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '' is therefore not allowed access.

我在浏览器上面调试会出现这个问题 之前用ngix时候用header的设置一下 Access-Control-Allow-Origin 就可以了
现在php cli不支持header 现在workerman是用\Workerman\Protocols\Http::header 这个来代替
我想问一下 我用Gatewayworker我要怎么设置 设置在哪里

是在我的start_web里面来设置header 还是在我的 $web->addRoot('www.your_domain.com', __DIR__.'/Test');

这个root下面的比如index.php里面来设置

3866 1 0
1个回答

walkor

GatewayWorker 是用来做tcp长链接的,不适合做http应用。
GatewayWorker中也无法使用\Workerman\Protocols\Http::header

http协议的应用直接使用 new Worker('http://..');
或者 new WebServer('http://...');

最好是用nginx php-fpm,使用起来最简单。

  • elvin226 2016-10-31

    我用的就是webserver $web = new WebServer("http://192.168.6.114:55151"); 这种情况 我能设置跨域么 我这边要求的服务有webserver也有tcp的 所以我就启动了两种 这种情况下 我要怎么设置呢?

  • walkor 2016-11-02

    \Workerman\Protocols\Http::header 可以试下

  • danceshi 2017-06-19

    @1339:你的这个问题现在解决了吗?

年代过于久远,无法发表回答
🔝