mirror of
https://github.com/pi-hole/web.git
synced 2026-05-08 09:39:05 +01:00
I have a different service running on FTL default port and so FTL service was not properly started. I searched quite a long time to discover why the Dashboard never loaded and finally found the reason.
This patch counts empty lines and dies properly with a JSON error. This fixed my issue. Also I have pi-hole running with apache2 and so no /var/log/lighttpd/error.log exists. Fix: Try apache2 logging location and if not found then write log to a /tmp file. Signed-off-by: Philipp Kolmann <philipp@kolmann.at>
This commit is contained in:
@@ -26,7 +26,7 @@ function sendRequestFTL($requestin)
|
|||||||
global $socket;
|
global $socket;
|
||||||
|
|
||||||
$request = ">".$requestin;
|
$request = ">".$requestin;
|
||||||
fwrite($socket, $request) or die("Could not send data to server\n");
|
fwrite($socket, $request) or die('{"error":"Could not send data to server"}');
|
||||||
}
|
}
|
||||||
|
|
||||||
function getResponseFTL()
|
function getResponseFTL()
|
||||||
@@ -35,9 +35,16 @@ function getResponseFTL()
|
|||||||
|
|
||||||
$response = [];
|
$response = [];
|
||||||
|
|
||||||
|
$errCount = 0;
|
||||||
while(true)
|
while(true)
|
||||||
{
|
{
|
||||||
$out = fgets($socket);
|
$out = fgets($socket);
|
||||||
|
file_put_contents('/tmp/pihole.txt', $out, FILE_APPEND);
|
||||||
|
if ($out == "") $errCount++;
|
||||||
|
if ($errCount > 100) {
|
||||||
|
// Tried 100 times, but never got proper reply, fail to prevent busy loop
|
||||||
|
die('{"error":"Tried 100 times to connect to FTL server, but never got proper reply. Please check Port and logs!"}');
|
||||||
|
}
|
||||||
if(strrpos($out,"---EOM---") !== false)
|
if(strrpos($out,"---EOM---") !== false)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,14 @@ require_once('func.php');
|
|||||||
$ERRORLOG = getenv('PHP_ERROR_LOG');
|
$ERRORLOG = getenv('PHP_ERROR_LOG');
|
||||||
if (empty($ERRORLOG)) {
|
if (empty($ERRORLOG)) {
|
||||||
$ERRORLOG = '/var/log/lighttpd/error.log';
|
$ERRORLOG = '/var/log/lighttpd/error.log';
|
||||||
|
|
||||||
|
if (!file_exists($ERRORLOG) || !is_writable($ERRORLOG)) {
|
||||||
|
$ERRORLOG = '/var/log/apache2/error.log';
|
||||||
|
|
||||||
|
if (!file_exists($ERRORLOG) || !is_writable($ERRORLOG)) {
|
||||||
|
$ERRORLOG = '/tmp/pi-hole-error.log';
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function pi_log($message) {
|
function pi_log($message) {
|
||||||
|
|||||||
Reference in New Issue
Block a user