【发布时间】:2025-11-25 10:55:01
【问题描述】:
我想在我的 Mac 上安装备用 PHP 缓存 (APC)。
对于 PECL,这应该是一个相当轻松的操作。
只需:
sudo pecl install apc
正如其他人在互联网上报道的那样,apc 依赖于 PHP 兼容的正则表达式库 pcre。
现在我已经使用 fink 安装了最新版本的 PHP 和 PEAR/PECL。我还使用 fink 安装了pcre:
i pcre 8.21-2 Perl Compatible Regular Expressions Library
问题是,当尝试使用sudo pecl install apc 时,pecl 正在检查pcre 库的默认目录,而不是查看/sw:
cc -D_GNU_SOURCE -I. -I/private/tmp/pear/temp/APC -DPHP_ATOM_INC -I/private/tmp/pear/temp/pear-build-rootPtlYda/APC-3.1.13/include -I/private/tmp/pear/temp/pear-build-rootPtlYda/APC-3.1.13/main -I/private/tmp/pear/temp/APC -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /private/tmp/pear/temp/APC/apc.c -fno-common -DPIC -o .libs/apc.o
In file included from /private/tmp/pear/temp/APC/apc.c:45:
/usr/include/php/ext/pcre/php_pcre.h:29:10: fatal error: 'pcre.h' file not found
#include "pcre.h"
^
1 error generated.
make: *** [apc.lo] Error 1
ERROR: `make' failed
因此我有两个问题:
- 是否可以设置一个环境变量来指向 fink
pcre库以编译apc? - fink 到底把
pcre放在哪里了?
更新
我看到这个关于 Macports 的问题:
sudo pecl install apc error on os x lion
在这个问题中,答案涉及将所需的 pcre 标头符号链接到其预期的 PECL 位置。
我尝试了类似的解决方案。对于 fink 方法,这里的符号链接命令是:
sudo ln -s /sw/include/pcre.h /usr/include/
但这仍然不起作用。通过PECL安装APC好像找不到这个头文件。
我应该补充一下,pcre.h 头文件确实在 /sw/include/pcre.h 中。
【问题讨论】:
标签: php header-files apc pecl fink