Ian-Lewiss-MacBook-Pro:~ ianlewis$ brew install php53-pcntl
Warning: php53-pcntl-5.3.25 already installed
Ian-Lewiss-MacBook-Pro:~ ianlewis$ brew info php53-pcntl
php53-pcntl: stable 5.3.25
http://php.net/manual/en/book.pcntl.php
/usr/local/Cellar/php53-pcntl/5.3.23 (3 files, 32K)
Built from source
/usr/local/Cellar/php53-pcntl/5.3.25 (3 files, 32K) *
Built from source
https://github.com/josegonzalez/homebrew-php/commits/master/Formula/php53-pcntl.rb
==> Dependencies
Build: autoconf
Required: php53
==> Options
--without-config-file
Do not add ext-pcntl.ini to /usr/local/etc/php/5.3/conf.d
--without-homebrew-php
Ignore homebrew PHP and use default instead
==> Caveats
To finish installing pcntl for PHP 5.3:
* /usr/local/etc/php/5.3/conf.d/ext-pcntl.ini was created,
do not forget to remove it upon extension removal.
* Restart your webserver.
* Write a PHP page that calls "phpinfo();"
* Load it in a browser and look for the info on the pcntl module.
* If you see it, you have been successful!
6条答案
按热度按时间xe55xuns1#
有一种方法可以将PCNTL编译为扩展,并将其链接到现有的PHP构建中,但这有点深入。
我正在Mac OSX Snow Leopard(64位)上使用MAMP和PHP版本5.3.6执行以下操作。如果您的版本不同,请记住更改以下行中的PHP版本号!
make
是必需的,默认情况下Mac OSX上不会安装它。您需要通过Mac开发者工具http://developer.apple.com/unix/安装它 *首先,下载一个与您在MAMP中使用的版本相匹配的PHP源代码的tar文件(例如,我的是5.3.6),您可以在http://www.php.net/releases/.Untar和CD中下载 php-[version]/ext/pcntl,例如:
然后,您需要运行pcntl目录中的
phpize
,它是MAMP附带的二进制文件:这会创建一堆文件,这些文件是为编译准备扩展所需的。
现在我们需要添加一些标志来告诉它编译库时使用32位和64位双架构,因为MAMP PHP就是这样构建的。如果不这样做,编译后的共享对象将无法工作。
然后,我们可以运行
./configure
和make
来构建共享对象:这将把一个名为
pcntl.so
的文件放到 modules 目录中。最后,编辑PHP INI文件以包含扩展名:
PCNTL现在应该已启用。若要检查是否已添加,只需运行:
如果你看到了,它就成功了!如果有什么问题,你可以从MAMP PHP扩展目录中删除
pcntl.so
文件,并删除INI设置,然后再试一次。wooyq4lh2#
如果你有'brew'安装在您的Mac上,那么你应该能够做到:
brew安装php53-pcntl
不过我不是MAMP的Maven。
====编辑====(响应被否决)
v8wbuo2f3#
为了让我的工作更轻松,我做了一个脚本from the other post。我用它来添加扩展pcntl,sysvmsg,sysvshm,sysvsem和其他到MAMP。使用cd到扩展目录或将目录作为参数传递给脚本。示例./addExtension.sh php-5.3.6/ext/pcntl
hmtdttj44#
我用MacPorts解决了这个问题。
跑过来指挥:
bn31dyow5#
我发现了一些稍微不同的说明,适用于约塞米蒂和Mamp使用php 5.6.2。说明可以在这里找到:https://www.flynsarmy.com/2015/01/get-artisan-tinker-working-osx-10-mamp/
zqdjd7g96#
1.从https://www.php.net/releases/下载php
tar -xzvf php-7.3.8.tar.gz
(我们将输出的文件夹命名为PhpSrcFolder
)1.确保在path =〉
echo $PATH
中有MAMP的bin目录。你需要额外的工具来完成这个操作。(如果你的$PATH中已经有了MAMP的bin,请跳到第5步)1.您可以将mamp的bin添加到您的路径中,如下所示,我们首先从
~/.profile
(PS:Mamp add alias to php in the later),然后我们根据使用的版本将mamp bin添加到PATH中。导出PHP版本=
grep "alias php" ~/.profile | cut -d"/" -f6 | cut -c4-
指向php.ini文件夹以使用相同的php设置
导出PHPRC="/库/应用程序支持/appsolute/MAMP PRO/conf/”
导出路径=/应用程序/MAMP/bin/php/php$PHP_VERSION/bin:$PATH
PS:关闭并重新打开终端
1.将
PhpSrcFolder
/外部/部件复制到/Applications/MAMP/bin/php/php7.3.8/include/php/ext/pcntl
1.进入
/Applications/MAMP/bin/php/php7.3.8/include/php/ext/pcntl
,然后运行phpize
命令。请注意,您还需要安装Xcode和相关工具。1.然后,您应该能够运行
./configure && make && make install
。这将在/Applications/MAMP/bin/php/php7.3.8/include/php/ext/pcntl/modules/pcntl.so
中构建扩展,复制并粘贴到/Applications/MAMP/bin/php/php7.3.8/lib/php/extensions/no-debug-non-zts-20180731/pcntl.so
中1.现在,编辑php.ini并启用该模块,就像您将任何其他扩展一样。获取
php.ini
的路径,通过运行which php
为我加载它:/Library/Application Support/appsolute/MAMP PRO/conf/php7.3.8.ini
,并重新检查它是否具有pcntl扩展名:[零件编号]
扩展名=pcntl.so