Seite 1 von 2
anmerkung: contenido-cvs-2005-10-28.tar
Verfasst: Fr 28. Okt 2005, 22:36
von m.wohlers
Hallo timo!
Der neue Snapshot sieht ja gut aus, bis auf zwei Kleinigkeiten in der functions.general.php:
Aus
wurde
und aus
wurde
Das sieht für mich jedenfalls nicht nach einer gewollten Änderung aus, oder?
Aber sonst Hut ab, das nähert sich wirklich mit großen Schritten einem Rele... - aber ich will ja nix verschreien
Mit freundlichen Grüssen,
Verfasst: Sa 29. Okt 2005, 09:36
von emergence
ich häng wieder mal was ran...
include.con_edit_form.php
Warning: strtotime() [function.strtotime]: Called with an empty time parameter. in e:\contenido\contenido-4.5.6\contenido-4.5.6\contenido\includes\include.con_edit_form.php on line 163
Warning: date() [function.date]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in e:\contenido\contenido-4.5.6\contenido-4.5.6\contenido\includes\include.con_edit_form.php on line 163
Warning: strtotime() [function.strtotime]: Called with an empty time parameter. in e:\contenido\contenido-4.5.6\contenido-4.5.6\contenido\includes\include.con_edit_form.php on line 164
Warning: date() [function.date]: Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in e:\contenido\contenido-4.5.6\contenido-4.5.6\contenido\includes\include.con_edit_form.php on line 164
in der datei findet sich
Code: Alles auswählen
$tmp2_lastmodified = date($dateformat,strtotime($tmp2_lastmodified));
$tmp2_published = date($dateformat,strtotime($tmp2_published));
sollte aber
Code: Alles auswählen
$tmp2_lastmodified = date($dateformat,strtotime($tmp_lastmodified));
$tmp2_published = date($dateformat,strtotime($tmp_published));
sein...
dann gehts auch ohne fehler...
ach ja, setup mit mysqli geht noch immer nicht bei mir...
Verfasst: Sa 29. Okt 2005, 09:56
von emergence
beim wechsel in editor
Warning: main(config.php) [function.main]: failed to open stream: No such file or directory in e:\contenido\contenido-4.5.6\contenido-4.5.6\contenido\external\backendedit\front_content.php on line 24
Warning: main() [function.include]: Failed opening 'config.php' for inclusion (include_path='.;E:\OpenSA\Apache\php-5.0.1\pear') in e:\contenido\contenido-4.5.6\contenido-4.5.6\contenido\external\backendedit\front_content.php on line 24
zusätzlich
Fatal error: Error: Can't include includes/functions.navigation.php in e:\contenido\contenido-4.5.6\contenido-4.5.6\contenido\includes\api\functions.api.general.php on line 154
na wie auch immer aus irgendwelchen gründen ist in der con_clients der frontendpath leer... deshalb die meldungen...
nun gut db komplett gelöscht, nochmal setup ohne mysqli
dann gehts normal...
ich würd mir das nochmal genau überlegen ob standardmäßig die mysqli erweiterung genommen wird....
Verfasst: Sa 29. Okt 2005, 10:23
von emergence
gut etwas nachgeforscht... unterschiede mysql <-> mysqli
wenn ich mir die $this->Record ansehe bei mysql hab ich etwas wie das hier im
Array
(
[0] => 106
[idartlang] => 106
[1] => 91
[idart] => 91
[2] => 1
[idlang] => 1
[3] => 0
[idtplcfg] => 0
[4] => 123
[title] => 123
...
)
bei mysqli hingegegen... ist eine ansteuerung mit zifferncodes alleine nicht mehr möglich...
da schaut das ganze dann so aus
Array
(
[idartlang] => 106
[idart] => 91
[idlang] => 1
[idtplcfg] => 0
[title] => 123
...
)
das ist auch der grund warum ich die meldungen mit not in the action table erhalte...
sag mal hab nur ich das problem, das kann es doch nicht sein...
Verfasst: Sa 29. Okt 2005, 10:36
von emergence
geh bitte... das ist ein bug innerhalb meiner php version
->
http://bugs.php.net/bug.php?id=29335
db_mysqli.inc
mysqli_fetch_array() standard für den zweiten parameter sollte MYSQL_BOTH sein... nur ist es das nicht...
Code: Alles auswählen
$this->Record = mysqli_fetch_array($this->Query_ID,MYSQL_BOTH);
behebt einen großteil meiner problemchen...
diese ergänzung ist ungefährlich...
edit: es gibt noch eine zweite position wo das MYSQL_BOTH ergänzt werden sollte... einfach mal nach mysqli_fetch_array suchen...
Verfasst: Sa 29. Okt 2005, 10:41
von emergence
tja und das setup geht nun auch mit mysqli...
Verfasst: Sa 29. Okt 2005, 16:16
von m.wohlers
Hallo emergence!
emergence hat geschrieben:tja und das setup geht nun auch mit mysqli...
Geh, wenn'st alle Deine Probleme löst, brauchst sie ja garnicht als Bug zu posten
Ein sonniges Wochenende aus Rosenheim wünscht...
Verfasst: Sa 29. Okt 2005, 20:26
von timo
ich glaube emergence meinte, daß nach seinem Bugfix alles funktionierte...also muß man diesen Bugfix auch aufnehmen...
Verfasst: So 30. Okt 2005, 09:54
von m.wohlers
Hi timo!
timo hat geschrieben:ich glaube emergence meinte, daß nach seinem Bugfix alles funktionierte...also muß man diesen Bugfix auch aufnehmen...
Ich glaube, Du hast den Witz nicht verstanden
Nichts für ungut...
Verfasst: So 30. Okt 2005, 11:36
von emergence
timo hat geschrieben:ich glaube emergence meinte, daß nach seinem Bugfix alles funktionierte...also muß man diesen Bugfix auch aufnehmen...
ja bidde... bin sicher nicht der einzige der auf das problem nageln wird
Ich glaube, Du hast den Witz nicht verstanden
macht nichts, ich hab ihn auch nicht verstanden...
Verfasst: So 30. Okt 2005, 14:52
von emergence
nun gut ich hab mich jetzt noch ein wenig mit mysqli auseinander gesetzt und bin da auf etwas gestossen was mit mysql alleine nicht aufgetreten ist...
nehmen wir mal ne funktion her die immer wieder innerhalb der funktion eine neue db instanz aufmacht... und diese funktion wird in einer schleife aufgerufen, so das sie ca. 40 db connections nacheinander initialisiert..
ca nach dem 30 db instanz füllt sich das errorlog mit folgenden einträgen..
[30-Oct-2005 13:57:25] PHP Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given in e:\contenido\contenido-4.5.6\contenido-4.5.6\conlib\db_mysqli.inc on line 476
[30-Oct-2005 13:57:25] PHP Warning: mysqli_errno() expects parameter 1 to be mysqli, boolean given in e:\contenido\contenido-4.5.6\contenido-4.5.6\conlib\db_mysqli.inc on line 477
ich hab hier ein kleines code beispiel (lauffähig als output modul):
Code: Alles auswählen
<?php
class DB_Upgrade extends DB_Contenido {
}
cInclude("includes", 'functions.database.php');
$db = new DB_Contenido;
echo "first";
updateSequence();
echo "second";
updateSequence();
echo "third";
updateSequence();
function updateSequence($table=false) {
global $db, $cfg;
if (!$table) {
$sql = "SHOW TABLES";
$db->query($sql);
while ($db->next_record())
{
dbUpdateSequence($cfg['sql']['sqlprefix']."_sequence", $db->f(0));
}
} else {
dbUpdateSequence($cfg['sql']['sqlprefix']."_sequence", $table);
}
}
?>
na wie auch immer...
die einzige möglichkeit das zu umgehen war in der mysqli.inc eine neue methode zu erstellen:
Code: Alles auswählen
function close()
{
if ($this->Link_ID) {
return mysqli_close($this->Link_ID);
} else {
return false;
}
}
und in der dbUpdateSequence am ende der funktion ein
hinzuzufügen...
kann jemand das verhalten bestätigen ? oder bin ich da schon wieder der erste der auf das genagelt ist...
nachtrag: ich hab jetzt mal meine serverumgebung auf php5.0.5 upgedatet... selbes verhalten...
Verfasst: So 30. Okt 2005, 17:49
von emergence
ad. tinymce
ist es beabsichtigt das man nur auf kategorien verlinken kann ?
oder hab ich da was übersehen... artikel stehen irgendwie keine zur verfügung ???
Verfasst: So 30. Okt 2005, 18:28
von timo
also ich kann im tinyMCE auf Artikel verlinken...einfach auf den Artikelnamen klicken...
Verfasst: So 30. Okt 2005, 18:46
von emergence
timo hat geschrieben:also ich kann im tinyMCE auf Artikel verlinken...einfach auf den Artikelnamen klicken...
also ich nicht... mir zeigt es da einfach keine artikel an...
Verfasst: Mo 31. Okt 2005, 08:35
von emergence
man sollte noch unbedingt unter administration - system - systemvariablen
den eingestellten wert von $cfg["database_extension"] irgendwo bei den einstellungen mit aufzeigen...
noch was zu db_mysqli.inc
function connect
Code: Alles auswählen
$this->Link_ID = @mysqli_connect($sHost, $User, $Password, "", $sPort);
} else {
$this->Link_ID = @mysqli_connect($Host, $User, $Password);
da gibts ein kleines problem...
sollte ein connect nicht möglich sein, wird $this->Link_ID auf false gesetzt...
fehlermeldung erscheint aufgrund des @ keine (logisch)...
in weiterer folge wird dann ja
Code: Alles auswählen
if (!$this->Link_ID)
{
$this->halt("connect($Host, $User, \$Password) failed.");
return 0;
}
aufgerufen... was ja noch funktioniert...
aber dann gibts nen fehler bei
Code: Alles auswählen
function halt($msg)
{
$this->Error = mysqli_error($this->Link_ID);
$this->Errno = mysqli_errno($this->Link_ID);
Code: Alles auswählen
PHP Warning: mysqli_errno() expects parameter 1 to be mysqli, boolean given in e:\contenido\contenido-4.5.6\contenido-4.5.6\conlib\db_mysqli.inc on line 477
mysqli_error() oder mysqli_errno() funktioniert nicht ohne angabe der Link_ID
die korrekte fehlermeldung erhält man nur wenn man mysqli_connect_error bedient...
na wie auch immer ich würde vorschlagen
Code: Alles auswählen
if (!$this->Link_ID)
{
$this->halt("connect($Host, $User, \$Password) failed.");
return 0;
}
ersetzen durch
Code: Alles auswählen
if (!$this->Link_ID)
{
$this->halt("connect($Host, $User, \$Password) failed: ".mysqli_connect_error());
return 0;
}
und
Code: Alles auswählen
function halt($msg)
{
$this->Error = mysqli_error($this->Link_ID);
$this->Errno = mysqli_errno($this->Link_ID);
durch
Code: Alles auswählen
function halt($msg)
{
if ($this->Link_ID) {
$this->Error = mysqli_error($this->Link_ID);
$this->Errno = mysqli_errno($this->Link_ID);
}
ersetzen...
den spruch muss noch anbringen(hier gefunden:
http://www.zend.com/php5/articles/php5-mysqli.php ):
The extension is called ext/mysqli, with the 'i' standing for any one of: improved, interface, ingenious, incompatible or incomplete.