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