yaml_emit_file()无效。调用未定义的函数yaml_emit_file()

时间:2017-09-12 10:10:41

标签: php composer-php yaml pecl

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);
}

0 个答案:

没有答案