0

In the days I started developing a VPS contol panel that communicates with the OpenVZ kernel using PhP commands.

I would like to display the status of the VPS, so it works so far.

<?php
$VMstatus = shell_exec("sudo vzctl status 17 | cut -d ' ' -f 5");
echo $VMstatus;
?>

It prints "running".

However, if the term "running" word is in the output, I would like to display an image, but the following code does not display any images.

<?php
$VMstatus = shell_exec("sudo vzctl status 17 | cut -d ' ' -f 5");
echo $VMstatus;

if ($VMstatus == 'running') {
  echo "<img src='/assets/img/vps-running.png'>";
} else {
  echo "<img src='/assets/img/vps-down.png'>";
}
?>

What might be the problem?

Thank you in advance for your help!
Have a nice day!

Erik
  • 41
  • 6

1 Answers1

1

Your shell outputs whitespaces, you can remove those with the trim method. https://www.php.net/manual/en/function.trim.php

<?php
$VMstatus = trim(shell_exec("sudo vzctl status 17 | cut -d ' ' -f 5"));
echo $VMstatus;

if ($VMstatus == 'running') {
  echo "<img src='/assets/img/vps-running.png'>";
} else {
  echo "<img src='/assets/img/vps-down.png'>";
}
?>
Sander Visser
  • 4,144
  • 1
  • 31
  • 42