Windows下phpstudy安装PHP扩展yaml
phpstudy版本8.1.1.3
yaml扩展下载:https://pecl.php.net/package/yaml
因为不同项目需要 php7.4 和 php5.6 两个版本,项目在加载配置文件时用到了yaml_parse_file() 需要安装yaml扩展。
php7.4安装很简单:
1、下载对应扩展包,直接将 php_yaml.dll 放入 F:\phpstudy_pro\Extensions\php\php7.4.3nts\ext 扩展文件夹中
2、在 php.ini 中开启扩展,extension=yaml
php5.6安装:
1、下载对应扩展包,将 php_yaml.dll 放入 F:\phpstudy_pro\Extensions\php\php5.6.9nts\ext 扩展文件夹中
2、在 php.ini 中开启扩展,extension=php_yaml
问题出现:在 phpinfo() 中 查看 yaml 扩展是否安装成功
结果发现php7.4的成功安装。php5.6的扩展,根本没有安装上,可明明在phpstudy中php的扩展上,已经显示安装上了,启动也没有报错。
经过一番度娘,没有找到相关问题,偶然间发现了一篇关于 “xampp安装PHP拓展yaml” 的文章,发现了其中的问题所在。
php5.6版本,在完成上述两步后,继续步骤3
3、cmd 进入 F:\phpstudy_pro\Extensions\php\php5.6.9nts 执行 php --ini。终于看到错误了,提示“找不到指定的模块”,
F:\phpstudy_pro\Extensions\php\php5.6.9nts>php --ini Warning: PHP Startup: Unable to load dynamic library 'F:\phpstudy_pro\Extensions\php\php5.6.9nts\ext\php_yaml' - 找不到指定的模块。in Unknown on line 0 Configuration File (php.ini) Path: C:\Windows Loaded Configuration File: F:\phpstudy_pro\Extensions\php\php5.6.9nts\php.ini Scan for additional .ini files in: (none) Additional .ini files parsed: (none)
解决办法:把安装包中的 yaml.dll 文件 copy 一份到 C:\Windows 目录下。再次执行 php --ini 命令,没有再提示错误了。再到 phpinfo() 中查看 yaml扩展安装成功了。
题外话:
在找到这个扩展安装成功之前,我用了一个临时的替代方案。因为 yaml_parse_file() 就是将yaml文件格式转为数组格式,故而可以将这个yaml文件内容自己整理为数组格式 include引入即可。
xampp可参考 “xampp安装PHP拓展yaml”:https://www.jianshu.com/p/b9f7607cb364