php如何增加加扩展

环境是linux+nginx
想添加pcntl扩展
百度了下重新编译加
在原来编译参数 --enable-pcntl 加上这个 重新编译 然后make 也重启了nginx 可是这个扩展还是没加到


后记 我服务器欠缺点东西
yum install m4
yum install autoconf
然后在phpize
make clean
然后编译才通过的

阅读 3.1k
3 个回答

这样是静态编译进php的方式,比较麻烦,建议使用动态加载方式进行扩展添加

1.进入pcntl扩展目录执行phpize
2.执行./configure --with-php-config=/usr/bin/php-config
3.make && make install 这样扩展文件pcntl.so就被放置到了/usr/lib64/php/modules(可能会有nts-nodebug这样的子目录)文件夹下了
4.然后在php.ini中开启该扩展:extension=pcntl.so
5.重启fpm或reload

2make 是用来编译的,它从Makefile中读取指令,然后编译。

3make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

pcntl是可以动态安装,不需要重新编译php
安装方法参进官网说明
pcntl installation

-- php源码自带有pcntl扩展,无需另外下载
nechtan$ sudo su
sh-3.2# tar -zxvf php-5.3.15.tar.gz
sh-3.2# cd php-5.3.15/ext/pcntl/
sh-3.2# phpize && ./configure && make && make install 
-- make是编译,还要执行make install来安装。如果安装目录是不默认的。./configure操作还要指定php-coinfig目录,--with-php-config=$DIR/php-config
sh-3.2# echo "extension=pcntl.so" >> /etc/php.ini
sh-3.2# apachectl restart

checking if everything is ok.

sh-3.2# php -m | grep pcntl
pcntl

注:nginx是http服务器,不是php的运行环境,php相关的变更,应该是重启php运行环境,比如例子提到的apache,此外常用的还有php-fpm等,取决于你使用的什么

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题