【问题标题】:libvirt-php receives the error: internal error Unable to locate libvirtd daemon in /usr/sbinlibvirt-php 收到错误:内部错误 Unable to locate libvirtd daemon in /usr/sbin
【发布时间】:2017-01-01 18:05:59
【问题描述】:

我已经安装了 php-libvirt 以及所有必需的软件包 我已将我的 php 文件设置如下:

<?php
echo “WebAdmin 0.1Beta”;
echo “<br/>”;

$uri=”qemu:///system”;
echo (“Connecting to libvirt (URI:$uri)\n”.”<br/>”.”<br/>”);
$conn=libvirt_connect($uri,false);
if ($conn==false)
{
echo (“Libvirt last error: “.libvirt_get_last_error().”\n”);
exit;
}

但是当我加载页面时:

WebAdmin 0.1Beta
Connecting to libvirt (URI:qemu:///system)

Libvirt last error: internal error Unable to locate libvirtd daemon in /usr/sbin (to override, set $LIBVIRTD_PATH to the name of the libvirtd binary) 

当我运行时,它可以从命令行正常运行

[root@localhost ~]# virsh -c qemu:///system list
 Id    Name                           State
----------------------------------------------------

我检查了 Libvirtd 状态,它也在运行

[root@localhost ~]# service libvirtd status
libvirtd (pid  14017) is running...

可能是什么问题?

【问题讨论】:

  • 当前的 libvirt 没有任何代码会报告该特定错误消息,那么您在那里使用的是什么版本的 libvirt? (例如 virsh 版本)。

标签: php centos qemu kvm libvirt


【解决方案1】:

/usr/sbin 中是否有 libvirtd 可执行文件?

您应该找到它的位置并将$LIBVIRTD_PATH 指向正确的文件夹。

如果您以非 root 用户身份运行脚本,则可执行文件可能在那里,只是脚本没有使用它的权限。

附言可能这个问题是针对服务器故障的

【讨论】:

  • noo 我以 root 身份执行脚本以及整个安装过程,
  • 我不知道如何编辑变量 $LIBVIRTD_PATH
  • 我在 /usr/sbin 中找不到 libvirtd 可执行文件,它在 /etc/init.d 下
  • 您可以尝试运行find / -name 'libvirtd' 并将结果粘贴到问题中吗?更改 LIBVIRTD_PATH 可以通过在运行脚本之前运行 export LIBVIRTD_PATH=/path/to/folder 来完成,或者将该行放入 ~/.profile
  • [root@localhost ~]# find / -name 'libvirtd' /var/lock/subsys/libvirtd /etc/logrotate.d/libvirtd /etc/sysconfig/libvirtd /etc/sysctl.d /libvirtd /etc/rc.d/init.d/libvirtd /usr/sbin/libvirtd
猜你喜欢
  • 2021-03-30
  • 2021-01-09
  • 2013-03-07
  • 1970-01-01
  • 2020-02-02
  • 1970-01-01
  • 2021-04-07
  • 2015-05-14
  • 1970-01-01
相关资源
最近更新 更多