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

     

      

  • 相关阅读:
    C++的几个晦涩特性
    高效学习的工具Mnemosyne
    允许OSQA上传任意类型的文件
    新一代J2ME终端标准MSAfor CLDC——解读JSR248
    JAVA实现简单的HTTP服务器
    什么是Web 2.0
    Java 手机与空间制图服务(WMS)应用集成
    广西移动SP结算工作管理流程
    2007年Enterprise 2.0的10大趋势
    移动虚拟专用网的发展与未来应用
  • 原文地址:https://www.cnblogs.com/fengwei/p/2687716.html
Copyright © 2011-2022 走看看