zoukankan      html  css  js  c++  java
  • php添加pcntl扩展 问题及解决方法

    pcntl扩展可以支持php的多线程操作.
    原本需要重新编译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
    

      

    二、测试是否安装成功

    <?php
    echo pcntl_fork();
    ?>
    

      输出

         23165

     

      

  • 相关阅读:
    Sum Root to Leaf Numbers——LeetCode
    Search a 2D Matrix ——LeetCode
    Surrounded Regions——LeetCode
    Palindrome Partitioning——LeetCode
    Reverse Linked List II——LeetCode
    Word Break II——LeetCode
    POJ1163——The Triangle
    3Sum Closest——LeetCode
    House Robber——LeetCode
    amqp 抓包
  • 原文地址:https://www.cnblogs.com/fengwei/p/2687716.html
Copyright © 2011-2022 走看看