> 백엔드 개발 > PHP 튜토리얼 > php添加pcntl多线程扩展(Linux)

php添加pcntl多线程扩展(Linux)

WBOY
풀어 주다: 2016-06-20 13:05:03
원래의
816명이 탐색했습니다.

php添加pcntl扩展(Linux)

pcntl扩展可以支持php的多线程操作(仅限linux)
原本需要重新编译PHP的后面configrue提示加上--enable-pcntl

由于我的php是采用yum安装的,所以不能采用上面的方式
下面介绍一个php动态添加扩展的方式 phpize

1、首先看下 phpize命令 所在的目录  (ps:我的目录/usr/bin/phpize)
如果没有找到的话 执行安装

yum install php53_devel   (ps:请注意自己的版本)
로그인 후 복사


安装完毕后。会生成phpize命令

2、去php.net下载相应版本的php源文件
咱们以php-5.3.17 为例吧,解压后,进入相应的模块下

cd ext/pcntl
#先执行phpize
/usr/bin/phpize
./configure --with-php-config=/usr/bin/php-config   (ps:请正确的指定php-config的目录)
#编译、安装
make && make install
로그인 후 복사


这时候出了一个错误

./configure编译正常,但make出错
error: ‘PHP_FE_END’ undeclared here (not in a function)

解决方法:

源代码有错误,进入php-5.3.17目录
sed -i 's|PHP_FE_END|{NULL,NULL,NULL}|' ./ext/**/*.c
sed -i 's|ZEND_MOD_END|{NULL,NULL,NULL}|' ./ext/**/*.c
再重新make && make install

3、编译完毕后会生成了一个 pcntl.so的文件。在php的model目录里

编辑/etc/php.ini,加入

extension=pcntl.so
로그인 후 복사



4、重启apache

service httpd restart
로그인 후 복사


5、测试是否安装成功

echo pcntl_fork();
로그인 후 복사


输出:23165


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