生体リズムを計算し、結果をグラフに表示するスクリプトがあります。理由は不明ですが、サーバーが更新された後、次のスクリプトが機能しないようです。
<?php
$now = gmdate('D, d M Y H:i:s') . ' GMT';
header('Expires: ' . $now);
header('Last-Modified: ' . $now);
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Pragma: no-cache");
error_reporting(0);
$copyright = "By www.magnaromagna.it";
$name = $_POST["name"];
$day = $_POST["day"];
$month = $_POST["month"];
$year = $_POST["year"];
$cycle = $_POST["cycle"];
$chartsize = $_POST["chartsize"];
$name = strip_tags($name);
if($chartsize == "small")
{
$chartwidth = 450;
$chartheight = 252;
$tablewidth = 500;
}
elseif($chartsize == "medium")
{
$chartwidth = 625;
$chartheight = 350;
$tablewidth = 655;
}
else
{
$chartwidth = 800;
$chartheight = 448;
$tablewidth = 820;
}
$date = date("m/d/y");
function drawRhythm($daysalive, $period, $color)
{
//$period = $period * 2;
global $cycle, $image, $chartwidth, $chartheight;
$centerday = $daysalive - ($cycle / 2);
$plotscale = ($chartheight - 25) / 2;
$plotcenter = ($chartheight - 25) / 2;
// draw the curve
for($count = 0; $count <= $cycle; $count++ )
{
echo $date ;
$phase = ((($centerday) + $count) % $period) / $period * 2 * pi();
$y = 1 - sin($phase) * (float)$plotscale + (float)$plotcenter;
if($count > 0)
{
imageLine($image, $oldx, $oldy, $count * $chartwidth / $cycle, $y, $color);
}
$oldx = $count * $chartwidth / $cycle;
$oldy = $y;
}
}
$pastdays = abs(gregorianToJD($month, $day, $year) - gregorianToJD(date( "m"), date( "d"), date( "Y")));
$image = imageCreate($chartwidth, $chartheight);
$colorbackground = imageColorAllocate($image, 0, 0, 0);
$colorforeground = imageColorAllocate($image, 255, 255, 255);
$colorgrid = imageColorAllocate($image, 255, 255, 255);
$colorborder = imageColorAllocate($image, 175, 175, 175);
$colorcross = imageColorAllocate($image, 255, 255, 255);
$colorphysical = imageColorAllocate($image, 0, 0, 255);
$coloremotional = imageColorAllocate($image, 255, 0, 0);
$colorintellectual = imageColorAllocate($image, 0, 255, 0);
$colorintuitive = imageColorAllocate($image, 255, 0, 255);
$colorawareness = imageColorAllocate($image, 255, 125, 0);
$colorspiritual = imageColorAllocate($image, 0, 255, 255);
$coloraesthetic = imageColorAllocate($image, 255, 255, 0);
imageFilledRectangle($image, 0, 0, $width - 1, $height - 1, $colorbackground);
$nrsecondsperday = 60 * 60 * 24;
// add a + before $nrsecondsperday; //
$diagramdate = time() - ($cycle / 2 + $nrsecondsperday) * $nrsecondsperday;
$flagcount = 1;
for ($index = 1; $index < $cycle; $index )
{
$thisdate = getDate($diagramdate);
$countCoord = ($chartwidth / $cycle) * $index;
imageLine($image, $countCoord, $chartheight - 25, $countCoord, $chartheight - 20, $colorgrid);
$flag = $flagcount%2;
if($cycle == 60 && $flag == 0)
{
imageString($image, 3, $countCoord - 2, $chartheight - 16, $thisdate[ "mday"], $colorgrid);
}
elseif($cycle != 60)
{
imageString($image, 3, $countCoord - 5, $chartheight - 16, $thisdate[ "mday"], $colorgrid);
}
$flagcount ;
$diagramdate = $nrsecondsperday;
}
imageRectangle($image, 0, 0, $chartwidth - 1, $chartheight - 20, $colorborder);
imageLine($image, 0, ($chartheight - 20) / 2, $chartwidth, ($chartheight - 20) / 2, $colorcross);
imageLine($image, $chartwidth / 2, 0, $chartwidth / 2, $chartheight - 20, $colorcross);
drawRhythm($pastdays, 23, $colorphysical);
drawRhythm($pastdays, 28, $coloremotional);
drawRhythm($pastdays, 33, $colorintellectual);
drawRhythm($pastdays, 38, $colorintuitive);
drawRhythm($pastdays, 43, $coloraesthetic);
drawRhythm($pastdays, 48, $colorawareness);
drawRhythm($pastdays, 53, $colorspiritual);
$subnum = rand(0, 999999);
$subnum = "images/dummies/".$subnum.".gif";
imageGIF($image,$subnum);
imagedestroy($image);
?>
<html>
<head>
<title>Risultato Bioritmo</title>
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<meta name="robots" content="index,follow" />
<link rel="stylesheet" type="text/css" href="biostyle.css">
</head>
<body>
<div align="center"><center>
<table border="0" cellpadding="3" cellspacing="0" width="90%">
<TR><TD align = "right"><a href="http://www.magnaromagna.it/bioritmo/" target="_blank" class="pagelinks">Calcola altro bioritmo</a>
</TD></TR></TABLE>
</div>
<div align="center"><center>
<table border="1" cellpadding="7" cellspacing="0" width="90%" class="outertable">
<tr>
<td align="center" class="genericstyle"><p class="bluesubheader">
<?php
if($name != "")
{
echo "Bioritmo per $name<br>";
}
else
{
echo "Mappa dei tuoi bioritmi<br>";
}
?>
<?php
echo "Nascita: $month/$day/$year<br>Data di oggi: $date";
?>
</p>
<p align="center"><img src="<?php echo "$subnum"; ?>">
Rosso: Ciclo Emozionale |
Blu: Ciclo Fisico |
Verde: Ciclo Intelligenza <br>
Viola: Intuito |
Acqua: Ciclo Spirituale |
Giallo: Ciclo Estetico |
Arancione:Ciclo Consapevolezza</p>
<p align="left"><span class="bluesubheader"><br>
Capire il tuo bioritmo</span></p>
</td>
</tr>
</table>
</center></div>
<div align="center"><center>
<table border="0" cellpadding="3" cellspacing="0" width="90%">
<TR><TD align = "right"><a href="http://www.magnaromagna.it/bioritmo/" class="pagelinks" target="_blank">Calcola altro bioritmo</a>
</TD></TR></TABLE>
</div>
<div align="center"><center>
<table border="0" cellpadding="7" cellspacing="0" width="300">
<tr>
<td align="center" class="copyright">Copyright Magnaromagna</td>
</tr>
</table>
</center></div>
</body>
</html>
<?php include("images/dummies/cleanup.php"); ?>
実行後、次のことが起こります。
ゲートウェイが上流のサーバーまたはアプリケーションからタイムリーな応答を受信しませんでした
それかスクリプトのどちらかが空白のページになります。
サーバーがこのスクリプトの実行にそれほど時間をかける必要はないと思いますが、それは単に私のコーディングの誤りかもしれません。
タイムアウトの例は、ここでの実行です: http://tuttoblog.com/bioritmo/ (ランダムな名前と年を挿入して実行するだけです)
空白ページの例は、ここでの実行です: http://magnaromagna.it/bioritmo/ (ランダムな名前と年を挿入してから実行してください)
私は時間がかなり短いので、この問題の助けは非常に高く評価されます.
私の phpinfo -> magnaromagna.it/phpinfo.php