我正在尝试在本地主机上安装 PHP 的 xdiff 库,以便对其进行一些测试。我的设置是 PHP 5.3 + Apache + Mac OS X。不幸的是,没有适用于 xdiff 的 macports 端口。
以下是我目前在 /usr/lib 文件夹中所做的操作:
sudo curl -O http://www.xmailserver.org/libxdiff-0.23.tar.gz
tar -xzf libxdiff-0.23.tar.gz
cd libxdiff-0.23/
./configure
make
make install
然后我从这里下载了 xdiff(http://pecl.php.net/package/xdiff)并执行了以下操作:
phpize
./configure
make
(所有命令均使用 sudo 执行)
使用 xdiff-1.5.1 安装似乎成功了。使用 1.4.1 时,我不断收到(使用“pear install pecl/xdiff”时也收到此信息):
/bin/sh /usr/lib/xdiff-1.4.1/xdiff-1.4.1/libtool --mode=compile cc -I. -I/usr/lib/xdiff-1.4.1/xdiff-1.4.1 -DPHP_ATOM_INC -I/usr/lib/xdiff-1.4.1/xdiff-1.4.1/include -I/usr/lib/xdiff-1.4.1/xdiff-1.4.1/main -I/usr/lib/xdiff-1.4.1/xdiff-1.4.1 -I/opt/local/include/php -I/opt/local/include/php/main -I/opt/local/include/php/TSRM -I/opt/local/include/php/Zend -I/opt/local/include/php/ext -I/opt/local/include/php/ext/date/lib -I/opt/local/include -I/usr/local/include -DHAVE_CONFIG_H -g -O2 -c /usr/lib/xdiff-1.4.1/xdiff-1.4.1/xdiff.c -o xdiff.lo
mkdir .libs
cc -I. -I/usr/lib/xdiff-1.4.1/xdiff-1.4.1 -DPHP_ATOM_INC -I/usr/lib/xdiff-1.4.1/xdiff-1.4.1/include -I/usr/lib/xdiff-1.4.1/xdiff-1.4.1/main -I/usr/lib/xdiff-1.4.1/xdiff-1.4.1 -I/opt/local/include/php -I/opt/local/include/php/main -I/opt/local/include/php/TSRM -I/opt/local/include/php/Zend -I/opt/local/include/php/ext -I/opt/local/include/php/ext/date/lib -I/opt/local/include -I/usr/local/include -DHAVE_CONFIG_H -g -O2 -c /usr/lib/xdiff-1.4.1/xdiff-1.4.1/xdiff.c -fno-common -DPIC -o .libs/xdiff.o
/usr/lib/xdiff-1.4.1/xdiff-1.4.1/xdiff.c:39: error: duplicate ‘static’
make: *** [xdiff.lo] Error 1
我还将以下内容添加到我的 php.ini 中
extension=xdiff.so
没运气。有什么想法吗?
答案1
转到 pecl xdiff 目录,打开 xdiff.c 从第 39 行删除单词“static”。它已在下一行的宏中定义。保存、phpize、configure、make、make install,开心就好:)