MAMP 环境下为 php 添加 pcntl 扩展

pcntl 介绍

pcntl 扩展可以支持 PHP 的多线程操作。(非Unix类系统不支持此模块)

phpize 介绍

phpize 可以用来给 PHP 动态的添加扩展。比如编译 PHP 时忘记添加某扩展,后来想添加该扩展,即可以使用 phpize 动态的添加该扩展。

本文将介绍如何使用 phpize 给 Mac下的集成环境 MAMP 添加 PHP 的 pcntl 扩展。类 Unix 的环境都可以使用本方法安装,注意灵活变通。

安装:

下面演示的是给 MAMP的PHP 5.6.10版本添加 pcntl扩展。

下载和本地 PHP 版本对应的源码包,地址为:

http://www.php.net/releases/
然后按照如下步骤进行编译:

# 解压源码包并初始化目录
$ tar -xzvf php-5.6.10.tar.gz
$ mv php-5.6.10 php
$ mkdir -p /Applications/MAMP/bin/php/php5.6.10/include
$ mv php /Applications/MAMP/bin/php/php5.6.10/include

# 检测系统配置
$ cd /Applications/MAMP/bin/php/php5.6.10/include/php
$ ./configure

# 添加一些标志来告诉系统怎样编译。MAMP PHP已经建成这样,如果不这样做,编译的共享对象将无法工作。
$ MACOSX_DEPLOYMENT_TARGET=10.10
$ CFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp"
$ CCFLAGS="-arch i386 -arch x86_64 -g -Os -pipe"
$ CXXFLAGS="-arch i386 -arch x86_64 -g -Os -pipe"
$ LDFLAGS="-arch i386 -arch x86_64 -bind_at_load"
$ export CFLAGS CXXFLAGS LDFLAGS CCFLAGS MACOSX_DEPLOYMENT_TARGET

# 编译 pcntl.so 文件
$ cd ext/pcntl
$ phpize
$ ./configure
$ make

# 将编译出来的扩展文件pcntl.so 移动到php的扩展目录
$ cp modules/pcntl.so /Applications/MAMP/bin/php/php5.6.10/lib/php/extensions/no-debug-non-zts-20131226/

# 向php.ini 文件中添加该扩展
$ echo "extension=pcntl.so" >> /Applications/MAMP/bin/php/php5.6.10/conf/php.ini

# pcntl现在应该已经启用,要检查是否安装成功,只需运行:
$ /Applications/MAMP/bin/php/php5.6.10/bin/php --ri pcntl
pcntl
pcntl support => enabled

如出现以上信息,则说明该扩展已安装成功。

原文地址:https://www.cnblogs.com/onephp/p/9174782.html

时间: 2024-10-03 22:31:36

MAMP 环境下为 php 添加 pcntl 扩展的相关文章

在Linux环境下给php添加mbstring扩展

1,今天在开发项目的时候使用了一个php函数(mb_strcut),运行代码时候提示报错"call to undefind function mb_strcut",首先检查下函数名没有写错,难道是php.ini中没有开启扩展,后来去phpinfo看了确实没有加载mb_strcut,后台得知这个扩展在官方由mbstring构建 2,去php官方pecl首页搜索竟然搜索不到,MDZZ,what the hell,由于php安装包中带有所有的扩展,所以楼主用wget下载一个php5.6.24

IIS环境下如何批量添加、修改、删除绑定的域名

IIS环境下如何批量添加和修改所绑定域名 1.关闭IISADMIN服务和W3SVC服务,可以从服务里面关闭,也可以直接执行命令:net stop iisadmin /y: 2.打开“C:\WINDOWS\SYSTEM32\INETSVR”,找到Metabase.xml,这就是存放iis信息的地方了,包括IIS的配置及网站配置都在这个文件中,备份一下,防止出错: 3.找到要修改的站点,根据原来的形式添加域名绑定,保存Metabase.xml: 4.重启IIS,可直接使用IISRESET来实现: 5

php添加pcntl扩展(Linux)

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.n

MAMP环境下 cookie无法正常使用

mac os x + mamp 安装PHP环境,碰到在PHP中无法保存删除cookie的操作. 原来是php.ini 中 output_buffering 设置被关了,直接修改php.ini总是不行,最后google了一下,操作方法如下,这里做个记录. Start MAMP PRO Select File -> Edit Template -> PHP4 php.ini / PHP5 php.ini Search this line "output_buffering = Off&q

linux环境下给python添加tab自动补齐

Pthon开发环境有很多种,可以使用IDE环境,比如eclipse,charm.也可以在linux下使用ipython,使用ipython就是因为有自动补全功能.当然也可以在linux环境下使用原生的python添加Tab补齐,也就实现了ipython的功能. 只需要在python的包路径中添加tab补齐模块即可. [[email protected] ~]# cd /usr/lib64/python2.7/ [[email protected] python2.7]# vim tab.py t

aix裸设备环境下为数据库添加新的数据文件

裸设备环境下,数据如果要添加数据文件比其他环境要稍微麻烦点,因为一个裸设备下面只能创建一个数据文件,以下为一次添加数据文件的记录,如下: 1.查看卷组lsvg 2查看物理卷 3.查看逻辑卷  lspv显示在卷组中的物理卷信息 4.lsvg  datavg 5.如果有closed就表示没用的 6.alter tablespace ZL9EPRLOB Add datafile '/dev/rora_data017_8g' size 5000m AUTOEXTEND OFF; 7.如果没有就需要先创建

如何在使用MAMP环境下安装MySQLdb

我的电脑上没有安装XAMPP,而是安装了MAMP PRO,其实两者都差不多,都是PHP+MySQL+Apache的集成环境,只是MAMP的GUI界面更华丽一些,但是也更复杂一些. 好了不说这些,说说问题吧.首先我使用如下命令来安装MySQLdb: pip install mysql-python 但是错误提示,找不到mysql_config文件. 这个好办,找到这个文件添加到PATH路径下即可. find /Applications/MAMP -name mysql_config 可以得到路径是

linux下php5.4添加memcache扩展

一.Memcache简介 Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力.它可以应对任意多个连接,使用非阻塞的网络IO.由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached管理这些HashTable,所以速度非常快. 二.Memcache和memcached的区别 为什么会有Memcache和memcached两种名称?其实Memcache是

win7环境下redis服务和php扩展的安装

1.下载redis的windows应用程序,支持32位和64位,根据实际情况下载 下载地址: https://github.com/dmajkic/redis/downloads 2.将相应的程序copy到你所需要的目录中,在这里我使用的64位,放到E:\redis目录 3.启动redis服务端:打开一个cmd窗口,先切换到redis所放目录(E:\redis),运行 redis-server.exe redis.conf 注意redis.conf为配置文件,主要配置了redis所使用的端口等信