php函数yaml_emit_file()
无效。我已经在我的php_yaml.dll
文件中安装并包含php.ini
重新启动了服务器,但是当我使用此函数时,我收到此错误(当我运行composer时):
Call to undefined function RS\composer\yaml_emit_file()
好的关于背景:
PHP版本7.1.7& Composer版本1.5.1
我在ScriptHandler.php文件中使用此函数,该文件在Composer
运行时调用。在此脚本中,我有一个函数buildModuleList
,在post-update-cmd
Composer
事件中调用。代码中的其他所有内容都运行正常。
我怀疑我可能在错误的环境中使用此功能或类似的东西。
以下是我使用yaml_emit_file()
的代码段(提供此信息仅供参考,请告诉我是否以错误的方式使用它!):
if (!$fs->exists($moduleListFile)) {
$fs->touch($root.'/profiles/thunder/modulelist.yml');
$fs->chmod($root . '/profiles/thunder/modulelist.yml', 0666);
if(!empty($moduleList)){
$createyml= yaml_emit_file($moduleListFile, $moduleList);
if (!$createyml){
$io->writeError('<error>Cannot create modulelist.yml</error>');
}
}
$io->write('Success: Created new modulelist.yml', $newline= TRUE);
}
else{
$fs->file_put_contents($moduleListFile, $installedPackage, FILE_APPEND);
$io->write('Success: Module entry in modulelist.yml', $newline= TRUE);
}