2016-01-31 47 views
0

我已经安装了新鲜的xampp(7.0.2 atm)。我创建了php-cli.ini,在那里添加了pthread扩展,并将内存限制设置为3 GB。但是,当我'尝试推出螺纹脚本,我得到这个:php pthreads不会在xampp 7.0.2上启动

PHP Fatal error: Uncaught RuntimeException: cannot start my_thread, out of reso 
urces in C:\xampp\htdocs\w\start_threads.php:160 
Stack trace: 
#0 C:\xampp\htdocs\w\start_threads.php(160): Thread->start() 
#1 {main} 
    thrown in C:\xampp\htdocs\w\start_threads.php on line 160 

Fatal error: Uncaught RuntimeException: cannot start my_thread, out of resources 
in C:\xampp\htdocs\w\start_threads.php:160 

(我'使用pthreds 3.1.5 x86)的 我在做什么错在这里?谢谢!

回答

2

实质上,这是由pthread_create返回EAGAIN造成的:这意味着系统缺少创建另一个线程的资源,或者系统对线程的最大数量(在进程或系统范围内)施加了限制。

这可能是由两件事引起的:由于某些软件的设计方式,有目的地使用了比进程可以同时处理的线程更多的线程,或者由于线程的优雅联接不够而导致更加恶毒。

如果您有时似乎只是碰到这样的错误,那就表明后者正在进行;确保清理(明确加入)完成的线程,以使行为可预测。

+0

这很奇怪,因为我试图从官方网站下载干净的PHP 7,它工作正常。也许我需要调整一些php-cli.ini变量? –

+0

我刚刚检查出来 - 干净的php7x86总是给我同样的错误,当我尝试运行脚本,另一方面x64 php7版本运行脚本好吧。 –

+0

我发现这个问题,我认为 - run()方法使用curl来获取Web数据,当我评论这行时异常已经消失。所以卷曲是问题。但为什么?我应该创建一个新的问题并将其添加一些代码吗? –