这里有新鲜出炉的 PHP 教程,程序狗速度看过来!
PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处理器")是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,入门门槛较低,易于学习,使用广泛,主要适用于 web 开发领域。PHP 的文件后缀名为 php。
上篇文章我们介绍了在 mac 系统中为片 php 添加 pcntl 扩展插件,本文我们继续来分享下 Linux 系统中为 php 添加 pcntl 扩展的方法,希望小伙伴们能够喜欢
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、测试是否安装成功
- <?php
- echo pcntl_fork();
- ?>
输出:23165
来源: http://www.phperz.com/article/17/0802/342899.html