• 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

     

      

  • 相关阅读:
    记第一场省选
    POJ 2083 Fractal 分形
    CodeForces 605A Sorting Railway Cars 思维
    FZU 1896 神奇的魔法数 dp
    FZU 1893 内存管理 模拟
    FZU 1894 志愿者选拔 单调队列
    FZU 1920 Left Mouse Button 简单搜索
    FZU 2086 餐厅点餐
    poj 2299 Ultra-QuickSort 逆序对模版题
    COMP9313 week4a MapReduce
  • 原文地址:https://www.cnblogs.com/fengwei/p/2687716.html
Copyright © 2020-2023  润新知