如何在WAMP上安装YAML扩展?

6

我的环境如下:

Windows 7 64bit
Wamp 2.4
PHP 5.4.12

我已在两个位置的php.ini文件中启用了扩展,即PHP和Apache:
extension=yaml.so

但是yaml_parse仍然显示为未定义。

有没有关于如何在Wamp上使YAML工作的建议?


1
我相信要让php_yaml正常工作,您还需要安装LibYAML.dll库,因为php扩展php_yaml只是该库的前端,大部分工作都由该库完成。不幸的是,我找不到任何可靠的地方可以下载该dll文件。因此,您可能需要自己编译和链接它。 - RiggsFolly
2
嗨@Cakephp.Saint,很遗憾我从未找到解决方法!不得不切换到Ubuntu机器。 - Rutwick Gangurde
我无法让它工作,它从php.net下载了yaml,将php_yaml.ddl放在ext目录中,启用extension=php_yaml.dll,但我不知道该把yaml.dll放在哪里,我尝试将其放在相同的文件夹或apache2 bin文件夹中,但没有任何成功... - Loenix
@Loenix 对我也不起作用。我换成了一个Ubuntu机器。你应该这样做或者使用虚拟机。 - Rutwick Gangurde
1
@Rutwick Gangurde,我终于成功了,因为我理解了它的工作原理,而这个过程是非常错误地记录的。从此处获取正确的版本:http://pecl.php.net/package/yaml 根据您的配置下载 DLL(PHP5.6 VC11 => YAML 1.3,PHP7 VC14 => YAML 2.0)。提取两个文件,将 php_yaml.dll 文件复制到 C:\wamp64\bin\php\phpX\ext,将 yaml.dll 复制到 C:\wamp64\bin\php\phpX\。注意路径!不要忘记在所有的 php.ini 文件中添加 extension=php_yaml.dll。 - Loenix
显示剩余3条评论
2个回答

3

我通过遵循@Loenix的一些提示,成功解决了这个问题。

您需要按照以下步骤操作:

  1. 从官方网站下载对应的php_yaml.dll文件。WAMP下的PHP是多线程的(https://pecl.php.net/package/yaml)

  2. 提取php_yaml.dll文件并将其复制到以下目录中:

C:\wamp64\bin\php\php\ext

  1. 在C:\wamp64\bin\php\php\目录下的phpForApache.ini文件中添加以下文本(不包括引号):"extension=php_yaml.dll"(这一步非常重要)

  2. 右键单击WAMP托盘图标,然后单击刷新

对我来说,第三步是关键,因为我正在编辑/bin/php/php目录下的php.ini文件,但似乎没有被考虑在内。

希望这能帮助到您!


0
确保您已经写了 extension=yaml.so ,不带任何引号。

是的!它没有任何引号! - Rutwick Gangurde

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接