Falsche IP beim Anlegen von Produktvarianten

Hallo zusammen,

wenn in Dolibarr 9.0.3 (in früheren Versionen nicht getestet) von einem Produkt eine Variante angelegt wird, springt Dolibarr beim Speichern der Variante nach einem Timeout auf eine falsche IP Adresse.

Meine Dolibarr Installation läuft normal unter „172.21.0.101/dolibarr“ nach dem Speichern der Variante springt er auf „172.21.0.67/dolibarr“

keine Ahnung wo diese IP in diesem Zusammenhang herkommt.

VG
Bastian

Mir ist aufgefallen, dass sämtliche Schaltflächen innerhalb der Variantenverwaltung falsch sind.

Wenn ich nachträglich einen Preis für eine Variante ändern will und auf das Stiftsymbol klicke, wird auch auf die falsche IP verlinkt

Hallo,

ich habe es ebend in zwei Umgebungen mit Version 9.0.1 und 9.0.3 getestet
und konnte keine Fehler feststellen.
Da muss wohl was beim Setup schief gelaufen sein.
Am besten nochmal Dolibarr nachinstallieren.

VG
Udo Tamm
com4WEB

PS:

Das es funktioniert, kann man auch nochmal in unserer Demo nachsehen und selber testen:

https://www.dolibit.de/demo/dolibarr9/db903/htdocs/product/card.php?id=1

login & pw: demo

Hallo,

ich habe es auf einem Debian Linux mit dem .deb Paket installiert (in LXC container).

Ich kann mir nicht vorstellen wo diese Funktion die falsche IP Adresse her holt.
Die VM hatte schon von anfang an diese IP.

Ich hab mal noch einen Screenshot angefügt.

2019-07-0109_21_10-Dolibarr.png

Hallo,

das ist für mich auch merkwürdig.
Aber nur mit dieser Info & aus der Ferne kann ich da leider auch keine Diagnose anbieten.

Die Linux-Container müssen ja ein internes IP-Setting haben. Vielleicht sind da Fehler.
Ist der Datenbank-Server auf der gleichen Maschine / IP?
Welcher Webserver ist es?

Vielleicht hilft für die Diagnose auch ein Blick in die Dolibarr Admin-Tools:
- Webserverinfos
- Über PHP -> dort unter „Apache Environment“

Ich wünsche viel Erfolg!

Udo Tamm
com4WEB

Hallo und Danke für die Rückmeldung.

hier noch ein paar Details:
Habe einen Ubuntu container und doch keinen Debian container :slight_smile:

Dolibarr 9.0.3
Ubuntu LXC Container mit eigener IP
MySQL auf der selben Maschine
Apache 2.4 als Webserver
PHP 7.2

Hier mal die Apache infos;

Apache Environment	Wert
HTTP_HOST	172.21.0.101
HTTP_CONNECTION	keep-alive
HTTP_UPGRADE_INSECURE_REQUESTS	1
HTTP_DNT	1
HTTP_USER_AGENT	Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
HTTP_ACCEPT	text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
HTTP_REFERER	http://172.21.0.101/dolibarr/admin/system/dolibarr.php?mainmenu=home&leftmenu=admintools_info
HTTP_ACCEPT_ENCODING	gzip, deflate
HTTP_ACCEPT_LANGUAGE	de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7
HTTP_COOKIE	DOLSESSID_b60eb2233bf61035865b00d298d28dd3=qvsjfdpp1q32lu2pqb80hkdlge
PATH	/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SERVER_SOFTWARE	Apache/2.4.29 (Ubuntu)
SERVER_NAME	172.21.0.101
SERVER_ADDR	172.21.0.101
SERVER_PORT	80
REMOTE_ADDR	172.21.0.36
DOCUMENT_ROOT	/var/www/html
REQUEST_SCHEME	http
CONTEXT_PREFIX	/dolibarr
CONTEXT_DOCUMENT_ROOT	/usr/share/dolibarr/htdocs
SERVER_ADMIN	webmaster@localhost
SCRIPT_FILENAME	/usr/share/dolibarr/htdocs/admin/system/phpinfo.php
REMOTE_PORT	65460
GATEWAY_INTERFACE	CGI/1.1
SERVER_PROTOCOL	HTTP/1.1
REQUEST_METHOD	GET
QUERY_STRING	mainmenu=home&leftmenu=admintools
REQUEST_URI	/dolibarr/admin/system/phpinfo.php?mainmenu=home&leftmenu=admintools
SCRIPT_NAME	/dolibarr/admin/system/phpinfo.php

Die PHP Variables sehen auch vernünftig aus

PHP Variables	Wert
$_REQUEST['mainmenu']	home
$_REQUEST['leftmenu']	admintools
$_GET['mainmenu']	home
$_GET['leftmenu']	admintools
$_COOKIE['DOLSESSID_b60eb2233bf61035185b00d298d28dd3']	qvsjfdpp1q22lu2pqb80hkdlge
$_SERVER['HTTP_HOST']	172.21.0.101
$_SERVER['HTTP_CONNECTION']	keep-alive
$_SERVER['HTTP_UPGRADE_INSECURE_REQUESTS']	1
$_SERVER['HTTP_DNT']	1
$_SERVER['HTTP_USER_AGENT']	Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
$_SERVER['HTTP_ACCEPT']	text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
$_SERVER['HTTP_REFERER']	http://172.21.0.101/dolibarr/admin/system/dolibarr.php?mainmenu=home&leftmenu=admintools_info
$_SERVER['HTTP_ACCEPT_ENCODING']	gzip, deflate
$_SERVER['HTTP_ACCEPT_LANGUAGE']	de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7
$_SERVER['HTTP_COOKIE']	DOLSESSID_b60eb2233bf61035185b00d298d28dd3=qvsjfdpp1q22lu2pqb80hkdlge
$_SERVER['PATH']	/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$_SERVER['SERVER_SOFTWARE']	Apache/2.4.29 (Ubuntu)
$_SERVER['SERVER_NAME']	172.21.0.101
$_SERVER['SERVER_ADDR']	172.21.0.101
$_SERVER['SERVER_PORT']	80
$_SERVER['REMOTE_ADDR']	172.21.0.36
$_SERVER['DOCUMENT_ROOT']	/var/www/html
$_SERVER['REQUEST_SCHEME']	http
$_SERVER['CONTEXT_PREFIX']	/dolibarr
$_SERVER['CONTEXT_DOCUMENT_ROOT']	/usr/share/dolibarr/htdocs
$_SERVER['SERVER_ADMIN']	webmaster@localhost
$_SERVER['SCRIPT_FILENAME']	/usr/share/dolibarr/htdocs/admin/system/phpinfo.php
$_SERVER['REMOTE_PORT']	65460
$_SERVER['GATEWAY_INTERFACE']	CGI/1.1
$_SERVER['SERVER_PROTOCOL']	HTTP/1.1
$_SERVER['REQUEST_METHOD']	GET
$_SERVER['QUERY_STRING']	mainmenu=home&leftmenu=admintools
$_SERVER['REQUEST_URI']	/dolibarr/admin/system/phpinfo.php?mainmenu=home&leftmenu=admintools
$_SERVER['SCRIPT_NAME']	/dolibarr/admin/system/phpinfo.php
$_SERVER['PHP_SELF']	/dolibarr/admin/system/phpinfo.php

Die .0.67er IP taucht hier niergends auf…

VG
Bastian

Ich bin am einkreisen von dem Problem…
in der combinations.php erfolgt der Aufbau der Einträge so:

<?php echo dol_buildpath('/variants/combinations.php?id='.$id.'&action=edit&valueid='.$currcomb->id, 2) ?>"><?php echo img_edit() ?>

Das heißt in dem Fall, das die Funktion dol_buildpath der Übeltäter sein muss.

Die oberen Schaltflächen „Neue Variante“ und „Varianten verteilen“ werden korrekt aufgelöst
Die werden im Code allerdings auch anders erstellt- ohne die dol_buildpath Funktion:

'<a href="combinations.php?id='.$object->id.'&action=add" class="butAction">'.$langs->trans('NewProductCombination').'</a>'

die Datei conf.php in /etc/dolibarr war das Problem

Hier steht:


<?php
//
// File generated by Dolibarr installer 9.0.1 on 06 M  r 2019
//
// Take a look at conf.php.example file for an example of conf.php file
// and explanations for all possibles parameters.
//
$dolibarr_main_url_root='http://172.21.0.67/dolibarr';

Wo dieser Eintrag aber her kommt ist mir schleierhaft. Ich kann mir nur vorstellen, dass er beim Zeitpunkt der Installation den Hostname irgendwie falsch aufgelöst hat. Eventuell war dort im DHCP Server noch nicht die .101 als IP hinterlegt

Die Funktion dol_buildpath wird auch durchaus öfters verwendet,
allerdings nicht mit dem Aufrufparameter $type=2 weil nur dann wird die dolibarr_main_url_root Variable verwendet

Problem also gelöst - und der Fehler saß wie so oft 60cm vor dem Bildschirm…

auch wenn schon 2 Jahre her…
Das Problem existiert hier unter 14.0.3 auch.
Ich ändere also die main_url_root auf die richtige IP ab?
Wobei das m.E. auch Unsinn ist:
a) in reinen IPv6 Netzen passt das nicht
b) bei Umzug des Servers muss ich wieder in der conf.php rumschreiben.
:-/

ja die IP muss leider wohl nach wie vor angepasst werden.