0

我正在尝试在 IIS 10(Windows 10)下将 YAML 1.2 扩展安装到 PHP 5.6。我正在使用http://pecl.php.net/package/yaml/1.2.0/windows下载文件。

我已经下载了 PHP 5.6 非线程安全 DLL(x86 以匹配我的 PHP 版本),复制php_yaml.dll到我的扩展目录,复制yaml.dllC:\Windows\System32(报告为 中的路径之一phpinfo())并添加extension=php_yaml.dll到我的php.ini. 我已经验证正在加载phpinfo()正确的php.ini文件,并且注释掉其他扩展名会将它们从phpinfo().

但是,YAML 不会出现在 的输出中phpinfo(),也不会加载函数。php-cgi.exe -v从命令行运行会发出警告:

PHP Warning:  PHP Startup: Unable to load dynamic library 'C:\PHP\php_5_06_14\ext\php_yaml.dll' - The specified module could not be found.
 in Unknown on line 0

该文件存在于指定的位置并且权限似乎是正确的。我还能做些什么来让它工作?

4

2 回答 2

0

据我所知,PECL 作为包管理器的使用正在下降。
必须在服务器中安装扩展使事情变得更加复杂,这取决于环境、权限等。

我相信有人可以帮你解决这个问题(我已经多年没有在 Windows 上工作了,所以我不能)

但是,相反,我建议您使用另一种解决方案。也许你可以选择它,也许你必须坚持使用扩展,但是,如果你真的可以寻找其他选项,我建议你使用另一个库。

https://github.com/symfony/yaml

而且,你可以使用 Composer 来安装你的库,我建议你看看它。

同样,它可能适合您,也可能不适合您,但我认为这会容易得多。

我希望这会有所帮助。

于 2016-09-28T03:56:13.093 回答
0

我将扩展目录的路径放在路径环境变量中。这为我解决了这个问题。

于 2017-06-25T18:20:43.460 回答