如何在 Mac OS X 上使用 Homebrew 安装 PHP、Pear、PECL 和 APC?

如何在 Mac OS X 上使用 Homebrew 安装 PHP、Pear、PECL 和 APC?

我正在尝试以最简单的方式安装适用于 PHP 5.3 的 APC。我喜欢自制所以我就开始按照这个方法操作了。我可以用这个命令安装 PHP 5.3.6:

brew install https://github.com/adamv/homebrew-alt/raw/master/duplicates/php.rb --with-mysql

我认为这应该安装 PHP、Pear 和 PECL。似乎安装得很好。

现在,当我尝试安装APC时:

$ pecl install apc
downloading APC-3.1.9.tgz ...
Starting to download APC-3.1.9.tgz (155,540 bytes)
.................................done: 155,540 bytes

Warning: require_once(Archive/Tar.php): failed to open stream: No such file or directory in PackageFile.php on line 305

Warning: require_once(Archive/Tar.php): failed to open stream: No such file or directory in /usr/local/Cellar/php/5.3.6/lib/php/PEAR/PackageFile.php on line 305

Fatal error: require_once(): Failed opening required 'Archive/Tar.php' (include_path='/usr/local/Cellar/php/5.3.6/lib/php') in /usr/local/Cellar/php/5.3.6/lib/php/PEAR/PackageFile.php on line 305

我怎样才能解决这个问题?

答案1

现在homebrew-php已迁移至homebrew-core默认情况下,PECL 应该与 PHP 一起安装。

以下是建议的步骤:

  1. 通过以下方式重新安装 PHP brew install php:。
  2. 检查pecl命令方式:which -a pecl

要查看已安装的文件,请参阅:brew list php

要安装 PHP 扩展,您需要使用 PECL 作为推荐的方式。

随着迁移到 Homebrew-core,php 公式已不再接管 PECL 的角色。安装 xdebug 可以(并且应该)通过 PECL 完成。来源:GH-26007

例如:pecl install apcpecl install xdebug

如果您在安装扩展时遇到问题,请向其维护者报告。检查PECL 网站更多细节。

答案2

peclpear附带 Homebrew 版本的 PHP:

brew install php
pecl install apcu

如果您对此感到厌倦pecl并且pear由 php 提供,请尝试以下操作:

ls -al $(which pecl)
ls -al $(which pear)

两个位置都应符号链接到Cellar/php/...

注意,macOS 提供的 php 版本通常低于 Homebrew 版本。为确保您运行的是 Homebrew 版本,请php在命令前加上$(brew --prefix php)/bin

作曲家的示例:

$(brew --prefix php)/bin/php composer.phar install

这很重要,因为常见的扩展——例如ext-intlext-gettext是自动提供的,并且会自动修复这些问题。

注意,对于php-fpm,使用brew reinstall php --with-fpmphp-fpm路径将是... $(brew --prefix php)/sbin/php-fpm

答案3

下面的命令应该有帮助

curl -s -O https://pear.php.net/install-pear-nozlib.phar

sudo php install-pear-nozlib.phar -d /usr/local/lib/php -b /usr/local/bin

答案4

您不需要安装apc
只需添加

apc.enabled=on
apc.shm_size=64M
apc.enable_cli=on

php.ini并确保你的 apcu 正常。

相关内容