[vz-users] [Error] Failed to load resource: the server responded with a status of 400 (Bad Request) (channel.json, line 0)

applicationMGR ecoCuyo applicationMGR at ecocuyo.de
Di Sep 12 07:11:40 CEST 2023



Hallo Daniel et alii

die /var/www/volkszaehler.org/htdocs//middleware.php hat folgenden Inhalt:    

namespace Volkszaehler;

use Symfony\Component\HttpFoundation\Request;

define('VZ_DIR', realpath(__DIR__ . '/..'));

// default response if things go wrong
http_response_code(500);

require VZ_DIR . '/lib/bootstrap.php';

$router = new Router();

// create Request from PHP global variables
$request = Request::createFromGlobals();

// handle request
$response = $router->handle($request);
$response->send();

für die /lib/bootstrap.php gibt es eine ganze Reihe von Kopien:

# find / -name bootstrap.php -type f
/home/pi/volkszaehler.org/lib/bootstrap.php
/home/pi/volkszaehler.org/vendor/symfony/polyfill-php81/bootstrap.php
/home/pi/volkszaehler.org/vendor/symfony/polyfill-mbstring/bootstrap.php
/home/pi/volkszaehler.org/vendor/symfony/polyfill-intl-grapheme/bootstrap.php
/home/pi/volkszaehler.org/vendor/symfony/polyfill-php73/bootstrap.php
/home/pi/volkszaehler.org/vendor/symfony/polyfill-intl-normalizer/bootstrap.php
/home/pi/volkszaehler.org/vendor/symfony/polyfill-ctype/bootstrap.php
/home/pi/volkszaehler.org/vendor/symfony/polyfill-php80/bootstrap.php
/home/pi/volkszaehler.org/vendor/symfony/polyfill-php72/bootstrap.php
/home/pi/volkszaehler.org/vendor/cboden/ratchet/tests/bootstrap.php
/home/pi/volkszaehler.org/vendor/phpstan/phpstan/bootstrap.php
/home/pi/volkszaehler.org/vendor/ringcentral/psr7/tests/bootstrap.php
/home/pi/volkszaehler.org/vendor/ratchet/rfc6455/tests/bootstrap.php
/home/pi/volkszaehler.org/vendor/webpatser/laravel-uuid/tests/bootstrap.php
/usr/share/php/phpseclib/bootstrap.php

Ich denke jedoch die tatsächlich verwendetet liegt unter:

/home/pi/volkszaehler.org/lib/bootstrap.php

Drin steht folgendes:

use Volkszaehler\Util;

function fail($msg) {
        // JSON request?
       if (preg_match('/\.json/', @$_SERVER['REQUEST_URI'])) {
                header('Content-type: application/json');
                echo json_encode([
                        'version' => VZ_VERSION,
                        'exception' => array(
                                'message' => $msg
                        )
                ]);
                die();
        }

        // normal request or command line
        throw new \Exception($msg);
}

// enable strict error reporting
error_reporting(E_ALL | E_STRICT);

// api version
define('VZ_VERSION', '0.3');

// Note: users of bootstrap.php can set VZ_DIR before calling bootstrap
if (!defined('VZ_DIR')) {
        define('VZ_DIR', realpath(__DIR__ . '/..'));
}

if (!file_exists(VZ_DIR . '/vendor/autoload.php')) {
        fail('Could not find autoloader. Check that dependencies have been installed via `composer install`.');
}

if (!file_exists(VZ_DIR . '/etc/config.yaml')) {
        fail('Could not find config file. Check that etc/config.yaml exists.');
}

require_once VZ_DIR . '/vendor/autoload.php';

// load configuration
Util\Configuration::load(VZ_DIR . '/etc/config.yaml');

// set timezone
$tz = (Util\Configuration::read('timezone')) ? Util\Configuration::read('timezone') : @date_default_timezone_get();
date_default_timezone_set($tz);

// set locale
setlocale(LC_ALL, Util\Configuration::read('locale'));

// force numeric output to C convention (issue #121)
setlocale(LC_NUMERIC, 'C');

?>

Und nicht zuletzt ist ein Link wie folgt gesetzt:

lrwxrwxrwx 1 root root 25 16. Apr 2022  /var/www/volkszaehler.org -> /home/pi/volkszaehler.org


Das sieht erst mal unauffällig aus - was siehst Du darin ggf?

Der einzige Abweichung konnte ich in ~/volkszaehler.org/htdocs/js/options.js finden - da war url:’’ auskommentiert. Das hab ich jetzt geändert.

        middleware: [
                {
                        title: 'Local (default)',
                        url: '',
                        url: 'api',
                        live: 8082  

Das hat nicht geholfen.
Freue mich über Tipps…

Viele Grüße
Armin

> Am 04.09.2023 um 15:09 schrieb Daniel Lauckner <vz at jahp.de>:
> 
> Hallo,
> 
> 
> am Sonntag, 3. September 2023 um 12:28 hat applicationMGR ecoCuyo geschrieben:
>> habe nach einem Datenbank Crash die Volkszähler DB mit purge entfernt und wieder neu installiert. Sowie die Middleware mit install.sh neu installiert.
> 
> Wie ist bei dir der Middleware bzw. der Webserver konfiguriert?
> Letzte Empfehlung war PHP-PM und Apache als Proxy.
> 
>> Im Safari-Debugger kommt der Fehler im Betreff oben und verweist auf http://<ip-des servers>/api/channel.json
>> Im code hängt das ganze dann hier fest:
> 
> Die Fehlermeldung sagt mir nix konkretes. Das spricht meist für einen Fehler beim Composer.
> Mal bitte wieder holen und schauen was an möglichen Störungen auftritt:
> 
> cd /var/www/volkszaehler.org/
> composer update
> 
>> Die User Rechte sollten so stimmen, nehm ich an?
> 
> Ja, das passt.
> Wenn du es zusätzlich ausschließen möchtest kannst du mal in ./ect/config.yaml bei 'user:' und 'password:' die Zugangsdaten vom vz_admin eintragen.
> 
> 
> mfg Daniel

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20230912/5b21250b/attachment-0001.htm>


Mehr Informationen über die Mailingliste volkszaehler-users