Willkommen im kivitendo Forum! Hier erweitern und teilen AnwenderInnen und EntwicklerInnen ihr Wissen.

Teste kivitendo!

kivitendo Demo

kivitendo Demo mit Schweizer Kontenplan

Geld allein macht nicht glücklich - benutzt kivitendo!

0 Punkte

Hallo,

ich bin es wieder mal.
Wie schon mal geschildert nutze ich Lighttpd wo das ERP und das CRM drauf ist.
Mein aktuelles Problem ist, das ich auf das CRM über lokalhost zugreifen kann aber sobald ich es über eine externe Adresse versuche, sich die Seite in einer Art endlos Ladeschleife befindet.
Der Zugang über die externe Adresse funktioniert aber, die Datei /crm/info.php lässt sich problemlos aufrufen.

Danke schon mal für eure Mühe,
Christian

Gefragt von (120 Punkte)

1 Antwort

0 Punkte

Habs gerade getestet. Dat tut.

Meine lighttpd.conf ist nach der Installation unverändert geblieben.

conf-enabled:
>10-fastcgi + 15-fastcgi-php

10-fastcgi.conf:
> server.modules += ( "mod_fastcgi" )

>fastcgi.server = ( ".pl" =>

(( "socket"   => "/tmp/kivitendo.fcgi.socket",
   "bin-path" => "/var/www/kivitendo-erp/dispatcher.fcgi",
     "max-procs" => 2,
))

)

crm in die erp verlinkt.

inc/conf.php:
>$ERPNAME="kivitendo-erp";
$ERP_BASE_URL='';
$erpConfigFile='kivitendo';

Das wars.

Beantwortet von (6.7k Punkte)

Hallo Holgi,

keine Chance bei mir.
Sitze wie gesagt gerade ausserhalb und greife per dyn-dns auf das ERP zu.
Beim Aufruf von crm/info.php gibt es keine Probleme, also läuft PHP.
Sobald ich aber crm/status.php aufrufe ist der im dauerwarten oder wie man das nennt.
Kann es damit zusammen hängen das ich Port 280 als Port nutze?

Und wie gesagt der locale Zugriff geht. Getestet über putty auf der Konsole mit lynx.

Grüße
Christian

Hallo Holgi,

ich mal wieder.
Hab heute Abend nach suchen das Problem lokalisiert.

Und zwar in der stdLib.php Zeile um 854, da wo eine verbindung zum ERP mit Curl hergestellt wird.
Da Curl kein Timeout übergeben wird, dauert es ewig wenn nicht verbunden werden kann, wie in meinen Fall, wo zwar Local der Port 280 offen ist aber scheinbar nicht wenn ich über eine andere URL gehe.

Ticket

Grüße
Christian

Hmm,

dei Zeile kann man schon einbauen, aber sollte nicht der Timeout für Scripte nach ca. 30Sek. zuschlagen?

Hallo Holgi,

ja der Teufel steckt meist im Detail.
Der Programmablauf ist dieser:
- Funktion makeMenu aufgerufen
- curl scheitert
- result ist false
- daraus folgt:

$objResult = json_decode( $result );
if (!is_object($objResult)) anmelden();

objResult ist NULL, was dazu führt das die Funktion anmelden aufgerufen wird
- in der Funktion wird Variable rs abgeprüft, da rs aber vorhanden ist
- führt das wieder dazu das die Funktion makeMenu aufgerufen wird.
- und alles beginnt von vorn

Wäre die viel interessantere Diskussion nicht, warum curl scheitert, und nicht, warum die CRM darauf nicht mit einem Timeout reagiert?

Da iptables keine Regeln zurück liefert, schließe ich das mal aus.
Was noch sein kann ist das der Router den Port blockt, das kann ich aber erst Abends feststellen.
Klar ist die Wahrscheinlichkeit sicher gering das der Fehler auftritt aber wenn curl scheitert oder die erp nix zurück liefert (warum auch immer), wird aus der ganzen Sache ne Endlosschleife, wie oben beschrieben.
Das sollte man definitiv beseitigen.

Ich gehe einfach davon aus, dass der Curl-Aufruf bzgl. der Portnummer schlicht falsch ist. Z.B. dass gar keine Portnummer übergeben wird.

Dann dürfte der Aufruf unter localhost auch nicht gehen, macht er aber.

Ähnliche Fragen

0 Punkte
1 Antwort
Gefragt 2, Mai 2013 von ulrich (130 Punkte)
0 Punkte
1 Antwort
0 Punkte
1 Antwort
Gefragt 6, Aug 2017 von eumel (20 Punkte)
0 Punkte
2 Antworten
Gefragt 25, Okt 2013 von rt81 (380 Punkte)
...