Ik heb een scriptje wat planeetstanden uitrekent mbv een binary 'swetest', die heb ik zelf hier gebakken en werkt op m'n linux mint bak, werkte ook bij neostrada, maar ik wil naar vimexx en daar werkt het niet.
Ik heb ze gemaild of ze kunnen testen maar ze zeggen dat ik bij een programmeur moet zijn. :)
Ik heb even geen idee wat ik kan doen. Ik heb ze gevraagd of ze daar swetest op de cmdline willen testen voor me maar dat doen ze dus niet. En function_exists(exec) geeft wel true dus het zou moeten kunnen.
Ik heb er trouwens 2 versies van swetest staan, een 32 en een 64 bits, beide geven geen sjoege.
Wat kan ik doen?
Voor de vollledigheid, dit is de code, de regel met exec() staat in het midden.
<?php
$swephsrc = '/home/blabla/public_html/se/';
$sweph = '/home/blabla/public_html/se/';
unset($PATH,$out,$longitude,$speed);
$date_now = date ("Y-m-d");
$inmonth = strftime("%m", time());
$inday = strftime("%d", time());
$inyear = strftime("%Y", time());
$inhours = strftime("%H", time());
$inmins = strftime("%M", time());
$insecs = strftime("%S", time());
$intz = (strftime("%z", time()) / 100); //time zone on server
if ($intz >= 0)
{
$whole = floor($intz);
$fraction = $intz - floor($intz);
}
else
{
$whole = ceil($intz);
$fraction = $intz - ceil($intz);
}
$inhours = $inhours - $whole;
$inmins = $inmins - ($fraction * 100); //this was 60, but Adrián Argüelles noted an error when time zones like +10.30 were used
// adjust date and time for minus hour due to time zone taking the hour negative
$utdatenow = strftime("%d.%m.20%y", mktime($inhours, $inmins, $insecs, $inmonth, $inday, $inyear));
$utnow = strftime("%H:%M:%S", mktime($inhours, $inmins, $insecs, $inmonth, $inday, $inyear));
$transit_date_time = strftime("%d %B 20%y", mktime($inhours, $inmins, $insecs, $inmonth, $inday, $inyear)) . " at " . strftime("%H:%M", mktime($inhours, $inmins, $insecs, $inmonth, $inday, $inyear));;
putenv("PATH=$swephsrc");
// get 10 planets
exec ("swetest -edir$sweph -b$utdatenow -ut$utnow -p0123456789mD -eswe -fPls -g, -head", $out);
// Each line of output data from swetest is exploded into array $row, giving these elements:
// 0 = planet name
// 1 = longitude
// 2 = speed
foreach ($out as $key => $line)
{
$row = explode(',',$line);
$longitude[$key] = $row[1];
$speed[$key] = $row[2];
};
echo '<center><table><tr>';
for ($i = 0; $i < 12; $i++)
{
echo "<td nowrap><img src='http://jcremers.com/se/img/$i.gif'>" . ' ' . Convert_Longitude($longitude[$i]);
if ($speed[$i] < 0) echo "r";
}
echo '</table></center>';
function Convert_Longitude($longitude)
{
$sign_num = floor($longitude / 30);
$pos_in_sign = $longitude - ($sign_num * 30);
$deg = floor($pos_in_sign);
$full_min = ($pos_in_sign - $deg) * 60;
$min = floor($full_min);
$full_sec = round(($full_min - $min) * 60);
if ($deg < 10) { $deg = "0" . $deg; }
if ($min < 10) { $min = "0" . $min; }
if ($full_sec < 10) { $full_sec = "0" . $full_sec; }
//return $deg . " " . $signs[$sign_num] . " " . $min . "' " . $full_sec . chr(34);
$sign_num += 16;
$img = "<img src='http://jcremers.com/se/img/$sign_num.gif'>";
return $deg . " " . $min . "' " . $full_sec . chr(34) . " " . $img;
}
?>