> 백엔드 개발 > PHP 튜토리얼 > pthreads(四)php7只支持在cli模式下使用pthreads扩展

pthreads(四)php7只支持在cli模式下使用pthreads扩展

WBOY
풀어 주다: 2016-06-20 12:33:39
원래의
2455명이 탐색했습니다.

1 ERROR!

用php7了,编译之后安装好扩展,运行php-fpm的时候报错,在公司没有解决,回家在mac上复现这个问题:

[24-Mar-2016 23:06:50] NOTICE: PHP message: PHP Fatal error:  The fpm-fcgi SAPI is not supported by pthreads in Unknown on line 0
Fatal error:  The fpm-fcgi SAPI is not supported by pthreads in Unknown on line 0

[24-Mar-2016 23:06:50] NOTICE: PHP message: PHP Fatal error:  Unable to start pthreads module in Unknown on line 0
Fatal error:  Unable to start pthreads module in Unknown on line 0

2 WHY?

 一直以为这个问题是可能是因为php7不稳定导致的,后来看到百度上有人说php7只允许CLI模式下使用pthreads扩展,对此半信半疑,好吧,上github看看:

pthreads v3 is restricted to operating in CLI only: I have spent many years trying to explain that threads in a web server just don't make sense, after 1,111 commits to pthreads I have realised that, my advice is going unheeded.

So I'm promoting the advice to hard and fast fact: you can't use pthreads safely and sensibly anywhere but CLI.

Thanks for listening ;)

以上是作者的原话

3 SOLVE:

CLI模式下,php会优先读取php-cli.ini,如果没找到会使用php.ini,SO:

【1】cp php.ini php-cli.ini // extension=/..(路径)../pthreads.so

【2】编辑原来的php.ini文件注释掉pthreads扩展 // ;extension=/..(路径)../pthreads.so

这样CLI模式下php-cli.ini生效,而php-fpm不会读php-cli.ini


     

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿