Ich habe diesen Fehler auch immer gehabt und einfach die Zeile 84 in isys_component_database.class.php auskommentiert. Falls ihr dann noch immer einen leeren Bildschirm habt sollte euch das hier weiterhelfen. Hat zumindest bei mir Wunder gewirkt.
Posts made by ChristianB
-
RE: I-doit 0.9 final: Fehler
-
RE: Final Version 0.9 Anmelde Probleme
Ich habe jetzt mal den debug Modus aktiviert und die zwei generierten Dateien wo der Fehler aufgezeichnet wird angehängt. Bei der debug.txt habe ich nur die letzten paar Zeilen genommen.
Edit:
Ich habe jetzt mal den Query gesucht der hier anscheinend falsch zusammengestellt wird. Ich bin in der Datei src/classes/rights/isys_rs_system.class.php ab Zeile 466 fündig geworden. Der Query sieht so aus:```
$l_q =
"INSERT INTO " .
"isys_group_2_isys_user_session " .
"(" .
"isys_group_2_isys_user_session__id, " .
"isys_group_2_isys_user_session__isys_group__id, " .
"isys_group_2_isys_user_session__isys_user_session__id" .
") " .
"SELECT " .
"'%', " .
"isys_group_2_isys_person_intern__isys_group__id, " .
"isys_user_session__id " .
"FROM " .
"isys_group_2_isys_person_intern " .
"LEFT JOIN " .
"isys_user_session " .
"ON isys_user_session__isys_person_intern__id=isys_group_2_isys_person_intern__isys_person_intern__id " .
"WHERE " .
"isys_group_2_isys_person_intern__isys_person_intern__id='" . $p_person_id . "'";$this->m_dao_group->update($l_q);
?>
Ich habe den mal geändert und siehe da es funktioniert:
$l_q =
"INSERT INTO " .
"isys_group_2_isys_user_session " .
"(" .
"isys_group_2_isys_user_session__isys_group__id, " .
"isys_group_2_isys_user_session__isys_user_session__id" .
") " .
"SELECT " .
"isys_group_2_isys_person_intern__isys_group__id, " .
"isys_user_session__id " .
"FROM " .
"isys_group_2_isys_person_intern " .
"LEFT JOIN " .
"isys_user_session " .
"ON isys_user_session__isys_person_intern__id=isys_group_2_isys_person_intern__isys_person_intern__id " .
"WHERE " .
"isys_group_2_isys_person_intern__isys_person_intern__id='" . $p_person_id . "'";$this->m_dao_group->update($l_q);
?>
Von der Variante das auto_increment Felder mit "%" automatisch gefüllt werden können habe ich ja noch nirgends was gelesen. Ist das eine versteckte Funktion von MySQL 4? [debug.txt](/uploads/_imported_attachments/migrated/46_debug.txt) [debug_request_10316540.txt](/uploads/_imported_attachments/migrated/47_debug_request_10316540.txt)
-
RE: Final Version 0.9 Anmelde Probleme
Ich habe die Ausgabe der phpinfo mal anonymisiert und angehangen. Ich werde mir auch gleich mal die config-Datei von Jörg anschauen und testen.
[edit]Das mit der Config Datei hat nichts gebracht.[/edit]
-
RE: Final Version 0.9 Anmelde Probleme
Der Passwort Fehler ist jetzt weg ich habe jetzt einen neuen! Ich habe in der php.ini mit den session Variablen gespielt. Mein Eintrag sieht jetzt so aus:```
; The domain for which the cookie is valid.
session.cookie_domain =isys_exception_database : Query error: 'INSERT INTO isys_group_2_isys_user_session (isys_group_2_isys_user_session__id, isys_group_2_isys_user_session__isys_group__id, isys_group_2_isys_user_session__isys_user_session__id) SELECT '%', isys_group_2_isys_person_intern__isys_group__id, isys_user_session__id FROM isys_group_2_isys_person_intern LEFT JOIN isys_user_session ON isys_user_session__isys_person_intern__id=isys_group_2_isys_person_intern__isys_person_intern__id WHERE isys_group_2_isys_person_intern__isys_person_intern__id='15'': Out of range value adjusted for column 'isys_group_2_isys_user_session__id' at row 1 (Extended Information: array ( 'server' => '5.0.27-community-nt', 'host' => '127.0.0.1 via TCP/IP', 'client' => '5.0.22', 'proto' => 10, )) **Fatal error:** Uncaught Exception occured in (C:\Inetpub\wwwroot\idoit\src\classes\components\isys_component_dao.class.php:212): isys_exception_dao : DAO Exception: Running transaction has been canceled. Could not isys_component_dao::update() : INSERT INTO isys_group_2_isys_user_session (isys_group_2_isys_user_session__id, isys_group_2_isys_user_session__isys_group__id, isys_group_2_isys_user_session__isys_user_session__id) SELECT '%', isys_group_2_isys_person_intern__isys_group__id, isys_user_session__id FROM isys_group_2_isys_person_intern LEFT JOIN isys_user_session ON isys_user_session__isys_person_intern__id=isys_group_2_isys_person_intern__isys_person_intern__id WHERE isys_group_2_isys_person_intern__isys_person_intern__id='15' (Extended Information: 0) thrown in C:\Inetpub\wwwroot\idoit\src\classes\components\isys_component_dao.class.php on line 212 PHP Fatal error: Uncaught Exception occured in (C:\Inetpub\wwwroot\idoit\src\classes\components\isys_component_dao.class.php:212): isys_exception_dao : DAO Exception: Running transaction has been canceled. Could not isys_component_dao::update() : INSERT INTO isys_group_2_isys_user_session (isys_group_2_isys_user_session__id, isys_group_2_isys_user_session__isys_group__id, isys_group_2_isys_user_session__isys_user_session__id) SELECT '%', isys_group_2_isys_person_intern__isys_group__id, isys_user_session__id FROM isys_group_2_isys_person_intern LEFT JOIN isys_user_session ON isys_user_session__isys_person_intern__id=isys_group_2_isys_person_intern__isys_person_intern__id WHERE isys_group_2_isys_person_intern__isys_person_intern__id='15' (Extended Information: 0) thrown in C:\Inetpub\wwwroot\idoit\src\classes\components\isys_component_dao.class.php on line 212 Ich glaube ihn stören die SELECT '%', angaben. Derselbe Fehler kommt in beta und final Version.
-
RE: Final Version 0.9 Anmelde Probleme
Ich habe jetzt mal mit der php.ini rumgespielt und auch mal mit einer anderen php Installation verglichen. Alles ohne Erfolg. Die config.inc.php habe ich auch nochmal kontrolliert jedoch glaube ich nicht das dort der Fehler zu finden ist. Das Hauptproblem scheint hier die php Installation zu sein. Da ich von Anfang an nur die final Version probiert habe werde ich jetzt mal testweise die Beta installieren und schauen ob es damit funktioniert wie LiesJa meint. Dann bräuchte man vielleicht nur noch die Unterschiede bei der Anmeldung zwischen den beiden Versionen vergleichen.
-
RE: Final Version 0.9 Anmelde Probleme
Nach einigem rumprobieren bin ich auf eine neue Fehlerquelle gestoßen. Anscheinend speichert php das Passwort nicht in einer Session. Ich kann mich dunkel erinnern das man unter Windows in der php.ini ein bisschen mit den tmp und session Variablen probieren muss und php auch Schreibrechte in den Verzeichnissen benötigt. Ich habe da schon ein wenig rumprobiert aber noch nichts brauchbares herausgefunden.
-
RE: Final Version 0.9 Anmelde Probleme
Ich bin nach einer kleinen Odysee jetzt ebenfalls bei diesem Problem angelangt. Ich befürchte das das Passwort nicht richtig weitergeleitet wird. In der Datei src/hypergate.inc in Zeile 51 tritt der Fehler auf. Dort wird nachgeschaut ob das Passwort per POST übergeben wurde oder bereits in der SESSION vorhanden ist. Das ist anscheinend nicht der Fall also wird der Fehler wohl auf der ersten Seite liegen, da wo man das Passwort eingibt.
Hier nochmal meine aktuelle Konfig: Windows 2000 SP4 Server, IIS5, PHP 5.2.0, MySQL 4.1.22, Internet Explorer 6 SP1
-
RE: [i-doit v0.9] Probleme bei der Installation
Ich habe gerade den MySQL-Server in einen Pfad ohne Leerzeichen installiert und jetzt kann der webinstaller auch den mysqlclient korrekt ansprechen. Allerdings bin ich dann auch gleich auf den nächsten Fehler gestoßen. In der Datei setup/sql/idoit_v0.9_data.sql musste ich erstmal wieder alle Umlaute durch HTML-Werte ersetzen bevor ich dann auf den Fehler:
ERROR 1364 (HY000) at line 10180: Field 'isys_workflow_type__occurrence' doesn't have a default value
gestoßen bin. Die entsprechenden MySQL-Befehle sind:```
CREATE TABLE IF NOT EXISTSisys_workflow_type
(
isys_workflow_type__id
int(10) NOT NULL auto_increment,
isys_workflow_type__title
varchar(255) NOT NULL,
isys_workflow_type__const
varchar(255) NOT NULL,
isys_workflow_type__occurrence
int(10) NOT NULL,
isys_workflow_type__datetime
datetime NOT NULL,
isys_workflow_type__status
int(10) NOT NULL,
isys_workflow_type__sort
int(10) NOT NULL,
PRIMARY KEY (isys_workflow_type__id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_unicode_ci AUTO_INCREMENT=3 ;INSERT INTO
isys_workflow_type
(isys_workflow_type__id
,isys_workflow_type__title
,isys_workflow_type__const
,isys_workflow_type__datetime
,isys_workflow_type__status
,isys_workflow_type__sort
)
VALUES
(1, 'Task', 'C__WORKFLOW_TYPE__TASK', '2006-10-23 12:20:25', 2, 0),
(2, 'Checklist', 'C__WORKFLOW_TYPE__CHECKLIST', '2006-10-23 12:21:09', 2, 0);Nachdem ich die Spalte als NULL statt NOT NULL definiert hatte wurde die Mandantendb ordentlich angelegt. Der nächste Fehler ist dann beim hinzufügen des neuen Mandanten in die System-DB (/* Add mandator entries */) hier musste ich das INSERT-Statement anpassen und die Zeilen für _isys_mandator__id_ entfernen. Als nächstes konnte ich mich allerdings nicht anmelden da er wieder einen Fehler angezeigt hat.``` Fatal error: Call to a member function handle() on a non-object in /var/www/i-doit/src/classes/components/isys_component_database.class.php on line 84 ```ist ja auch [hier](http://www.i-doit.de/forum/index.php/topic,334.0.html) schon bekannt. An dieser Stelle habe ich dann von MySQL 5.0.27 auf 4.1.22 umgestellt jedoch ohne Erfolg. Gleicher Fehler. Also habe ich mal was ganz wildes getan und den Tip von [hier](http://www.i-doit.de/forum/index.php/topic,331.0.html) augeführt. Nachdem ich den Befehl``` php index.php ```auf dem Server ausgeführt hatte konnte ich dann im Browser auch das login-Fenster sehen. Die Fehlermeldung erscheint weiter und ich kann auch einen Mandanten auswählen allerdings bekomme ich dann die Fehlermeldung:``` No password specified!
Ich werde hier also noch eine Weile sitzen und rumprobieren. Ich werde euch also weiterhin mit meinen Berichten nerven.
-
RE: [i-doit v0.9] Probleme bei der Installation
Ich habe mir das jetzt nochmal etwas genauer angeschaut und das Problem auf die Umlaute reduziert. Obwohl die Datenbank UTF8 ist nimmt er die Zeilen mit Umlauten nicht an. Ich bin gerade dabei die Umlaute in der .sql durch die HTML-Bezeichnungen zu ersetzen und hoffe das funzt.
… später...
So nachdem ich jetzt die Umlaute komplett ersetzt habe kann ich mit dem Befehl:```
"C:\Programme\MySQL\MySQL Server 5.0\bin\mysql.exe" -h 127.0.0.1 -P 3306 -u root -p"XXX" -D idoit_system < "C:\Inetpub\wwwroot\idoit\setup\sql\idoit_v0.9_system.sql" 2>&1_… noch etwas später..._ Das Problem mit dem exec() (unable to fork) ist ein Berechtigungsproblem von Windows. Anscheinend sind die Rechte auf c:\winnt\system32\cmd.exe für das IIS-Benutzerkonto standardmäßig auf verweigern gestellt. Ich habe dem IIS-Anonym Benutzer das ausführen recht gegeben und es hat funktioniert. Allerdings nur fast. Jetzt hängts wahrscheinlich an den Leerzeichen im Pfad zur mysql.exe Ich bekomme jetzt folgenden Fehler im webinstaller angezeigt:``` Importing system database ERROR (Der Befehl "C:\Programme\MySQL\MySQL" ist entweder falsch geschrieben oder) ```. Ausserdem ist mir aufgefallen das er nach dem Fehler die Systemdatenbank wieder löscht aber die mandantendatenbank nicht was bei einem erneuten Installationsversuch zu einer Fehlermeldung führt und ich erst per Hand die leere Mandantendb löschen muss. Ich werde morgen mal der Sache weiter auf den Grund gehen und den MySQL Server neu installieren. Diesmal in einen Pfad ohne Leerzeichen ;) Ich hoffe meine Vorgehensweise ist halbwegs verständlich beschrieben.
-
[i-doit v0.9] Probleme bei der Installation
Ich versuche i-doit auf einem Windows 2000 SP4 Server zu installieren. Ich nutze den IIS5 mit PHP 5.2.0 und MySQL 5.0.27 was auch super funktioniert.
Nachdem ich einige kleinere Bugs in den Setup-Dateien beseitigt hatte funktioniert das Setup dann auch bis zum Punkt 5 problemlos. Sobald ich dann auf weiter klicke gehts los mit den Fehlermeldungen. Als Erstes bekomme ich diese Meldung:
PHP Warning: exec() [function.exec]: Unable to fork ["C:\Programme\MySQL\MySQL Server 5.0\bin\mysql.exe" -h 127.0.0.1 -P 3306 -u root -p"XXX" -D idoit_system < "C:\Inetpub\wwwroot\idoit\setup\sql\idoit_v0.9_system.sql" 2>&1] in C:\Inetpub\wwwroot\idoit\setup\6_installation.inc.php on line 38
Dann habe ich einfach mal den Befehl direkt auf dem Server in einer cmd ausgeführt und bekomme folgenden Fehler:
ERROR 1406 (22001) at line 79: Data too long for column 'isys_const_system__description' at row 1
So und da hänge ich zur Zeit fest. Verstehe ich das richtig das hier anscheinend der Inhalt des Datenbankfelds zu lang ist? Wenn ich mir jetzt die Datenbank idoit_system anschaue ist die Tabelle isys_const_get mit 25 Zeilen gefüllt und die Tabelle isys_const_system mit 0 Zeilen gefüllt. Weitere Tabellen wurden nicht angelegt. Woran kann das liegen? Was kann ich machen bzw. noch probieren?
P.S.: Hier einige Fehler/Bugs die ich für das Setup beheben musste:
In der Datei setup/ext_filebrowser.php sind mehrere php Abschnitte wie folgt gecodet:ich habe das mal so gemacht:dann funktionierts. Bis auf dieBefehle, die werden einfach mit in das Textfeld ausgegeben. Dort habe ich dann die korrekten Trenner noch ändern können.In der Datei setup/6_Installation.inc.php habe ich in den Abschnitt
$l_command = $g_config["config.db.cli"]["content"] .
in mysql_exec() noch Anführungszeichen für den Pfad zum MySql Client eingefügt```
$l_command = """.
$g_config["config.db.cli"]["content"] . "" " .