Welcome! Log In Create A New Profile

Advanced

embeded php code not activating

August 14, 2016 11:48AM
I have a weather station website running successfully under apache2 on a fedora based server. I am in the process of transferring it to run on a raspberry pi 3 under nginx. This has transferred without a problem with the exception of a small section of PHP code which loads a graphic of the moon phase selected by date.

The html code calling the graphic is:-

/var/www/html/weather/index.htm excerpt

<td rowspan="3"><img src="moonphase.php" alt="Moon" width="64" align="left" border="0" height="64" hspace="10" /></td>

moonphase.php calculates which image is required depending on parameters passed in moonphasetag.php.

/var/www/html/weather/moonphase.php

<?php

error_reporting(E_ALL);

require "moonphasetag.php";
function int($s){return(int)preg_replace('/[^\-\d]*(\-?\d*).*/','$1',$s);}
$mp = int($MoonPercent);
$lat = substr($latitude, 0, 1);
$file1 = 'moon/back.jpg';
$file2 = 'moon/moon.jpg';
$img = @imagecreatetruecolor(64, 64);
$imgFinal = @imagecreatetruecolor(64, 64);
if ($lat == "N") {
if ($mp == 0) {
$file1 = 'moon/new.jpg';
copy ($file1, $file2);
} elseif ($mp >= 1 AND $mp < 49) {
$file1 = 'moon/waxing_crescent.jpg';
copy ($file1, $file2);
} elseif ($mp == 49 OR $mp == 50) {
$file1 = 'moon/first_quarter.jpg';
copy ($file1, $file2);
} elseif ($mp > 50 AND $mp < 99) {
$file1 = 'moon/waxing_gibbous.jpg';
copy ($file1, $file2);
} elseif ($mp == 99 OR $mp == 100) {
$file1 = 'moon/full.jpg';
copy ($file1, $file2);
} elseif ($mp >= -99 AND $mp <= -51) {
$file1 = 'moon/waning_gibbous.jpg';
copy ($file1, $file2);
} elseif($mp == -50 OR $mp == -49) {
$file1 = 'moon/last_quarter.jpg';
copy ($file1, $file2);
} elseif ($mp >= -49 AND $mp <= -1) {
$file1 = 'moon/waning_crescent.jpg';
copy ($file1, $file2);
}
} else {
if ($mp == 0) {
$file1 = 'moon/new.jpg';
copy ($file1, $file2);
} elseif ($mp >= 1 AND $mp < 49) {
$file1 = 'moon/swaxing_crescent.jpg';
copy ($file1, $file2);
} elseif ($mp == 49 OR $mp == 50) {
$file1 = 'moon/sfirst_quarter.jpg';
copy ($file1, $file2);
} elseif ($mp > 50 AND $mp < 99) {
$file1 = 'moon/swaxing_gibbous.jpg';
copy ($file1, $file2);
} elseif ($mp == 99 OR $mp == 100) {
$file1 = 'moon/full.jpg';
copy ($file1, $file2);
} elseif ($mp >= -99 AND $mp <= -51) {
$file1 = 'moon/swaning_gibbous.jpg';
copy ($file1, $file2);
} elseif ($mp == -50 OR $mp == -49) {
$file1 = 'moon/slast_quarter.jpg';
copy ($file1, $file2);
} elseif ($mp >= -49 AND $mp <= -1) {
$file1 = 'moon/swaning_crescent.jpg';
copy ($file1, $file2);
}
}
$img = imagecreatefromjpeg($file2);
imagecopyresampled($imgFinal, $img, 0, 0, 0, 0, 64, 64, 64, 64);
header('Content-Type: image/jpeg');
imagejpeg($imgFinal, null, 100);
imagedestroy($imgFinal);
imagedestroy($img);
?>

As far as I can tell I have set all the nginx parameters correctly:-

/etc/nginx/sites-enabled/weather

server {
listen 80;
listen [::]:80;

server_name www.craythorneweather.info;

root /var/www/html/weather;
index index.html index.htm index.php;

access_log /var/log/nginx/weather.access_log;
error_log /var/log/nginx/weather.error_log info;

location / {
try_files $uri $uri/ =404;
}
location ~* \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi.conf;
include /etc/nginx/fastcgi_params;
}
}

The code works perfectly under apache but I am keen to have it operating under nginx on the RPI.

Any pointers as to where I am going wrong would be appreciated.
Subject Author Posted

embeded php code not activating

Joe Curtis August 14, 2016 11:48AM

Re: embeded php code not activating

Richard Stanway August 14, 2016 12:44PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 289
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready