我正在与许多开发人员通过 Git 开展一个项目,现有代码库使用 PECL YAML PHP 扩展 (v1.0.1)。
我已经尝试了许多步骤来在我的 MAMP 服务器上安装 PECL YAML 扩展,但没有任何乐趣!
我假设其他开发人员在 Linux 上。
安装的前几次尝试在我的 php_error_log 中发现了这个错误:
经过大量时间的谷歌搜索后,我意识到我并不孤单,这是因为我使用“./pecl i yaml”编译的扩展是 64 位版本
“文件yaml.so”:
yaml.so:Mach-O 64 位包 x86_64
但是,将此与我的 MAMP 设置上的工作扩展名进行比较,即“文件 xdebug.so”:
所以我发现了一些博客,可以帮助我确定确切的问题。
无法在 32 位 MAMP 服务器上运行 64 位扩展 - 有道理。
我的安装过程是:
上述解决方案似乎对除我之外的所有人都有效。
我的错误日志现在报告这个:
我现在已经花了几个小时在这上面,需要你的帮助。
我实际上要做的就是在 PHP 中解析 YAML。
我有两个选择:
选项 2 的问题是由于我无法安装扩展,代码库将发生变化。
任何建议或解决方案将不胜感激。
干杯
最佳答案
如果您安装了 Homebrew,那么您可以执行以下操作:
brew install libyaml --universal
否则安装最新的 libyaml 。
您可以通过将
CFFLAGS
和 LDFLAGS
设置为 -arch i386 -arch x86_64
来为 32 位和 64 位英特尔构建。然后,安装 PEAR/PECL(您也可以按照 here 的说明进行操作)
wget http://pear.php.net/go-pear.phar
sudo php -d detect_unicode=0 go-pear.phar
默认情况下,它将安装在
~/pear/
目录中。现在运行sudo ~/pear/bin/pecl install yaml
然后,照顾好so文件。
这个 nice article 将演示如何手动安装 MAMP 堆栈。
关于php - 在 MAMP 上安装 YAML Pecl PHP 扩展,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6716912/