mac系统下为 php 添加 pcntl 扩展

网络编程 2021-07-05 09:10www.168986.cn编程入门
ptl中php实现多进程必须要安装的扩展,本文给大家简单介绍下如何在mac系统中为 php 添加 ptl 扩展

前言

ptl 介绍

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

phpize 介绍

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

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

安装

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


然后按照如下步骤编译(演示的是给 MAMP的PHP 5.6.10版本添加 ptl扩展)

$ 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

$ MACOSX_DEPLOYMENT_TARGET=10.10
$ CFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-prep"
$ 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

$ cd ext/ptl
$ phpize
$ ./configure
$ make
$ cp modules/ptl.so /Applications/MAMP/bin/php/php5.6.10/lib/php/extensions/no-debug-non-zts-20131226/  

$ echo "extension=ptl.so" >> /Applications/MAMP/bin/php/php5.6.10/conf/php.ini

$ /Applications/MAMP/bin/php/php5.6.10/bin/php --ri ptl
ptl
ptl support => enabled

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by