Linux系统中为php添加pcntl扩展

2018-09-26 20:06

阅读:337

  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源文件

  咱们以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 sPHP_FE_END{NULL,NULL,NULL} ./ext/**/*.c
sed -i sZEND_MOD_END{NULL,NULL,NULL} ./ext/**/*.c

  再重新make && make install

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

  编辑,加入

  extension=pcntl.so

  4、重启apache

  service httpd restart

  5、测试是否安装成功

   <?php echo pcntl_fork(); ?>

  输出:23165


评论


亲,登录后才可以留言!