Seite 1 von 1
file_put_contents() Fehler
Verfasst: Mo 21. Feb 2011, 20:21
von amabs
Hallo,
habe die Anfrage bekommen, einen Fehler in einer bestehenden Contenido-Installation in Augenschein zu nehmen ...
der Fehler taucht in der Hauptnavigation auf:
Warning: file_put_contents() [function.file-put-contents]: Only 0 of 11 bytes written, possibly out of free disk space in /homepages/42/d264338100/htdocs/schwedenkammer.de/cms/front_content.php(921) : eval()'d code on line 647
System:
CMS Contenido 4.6.23
PHP Version 5.2.17
Apache 1.3.41
dachte zuerst, daß der Speicherplatz des Servers voll wäre, dem war aber überhaupt nicht so... Der Fehler taucht "quasi" als Doppplung der vorhandenen Navigationspunkte auf, diese wird korrekt unterhalb der Fehler ausgegeben. Vielleicht kann mir jemand einen kleinen Denkanstoß geben, bin am Ende mit meinem Latein ...
Wer möchte, hier der Fehler "live":
http://www.schwedenkammer.de
Danke erstmal vorab für die Mühe und viele Grüße,
Michael
Re: file_put_contents() Fehler
Verfasst: Mo 21. Feb 2011, 21:19
von idea-tec
da müsste man den modul-output sehen um was ordentliches sagen zu können
rate mal mit <wemauchimmer> war früher eine beliebte sendung am samstag abend, hilft hier aber nicht wirklich weiter

Re: file_put_contents() Fehler
Verfasst: Mo 21. Feb 2011, 21:41
von amabs

dachte ich mir schon ... ja, ist lange her (mit frisch geputzten Ohren Samstags auf der Couch)
hatte in der config.misc den codeoutput auf true gesetzt, anbei der Block, in dem die Fehler auftreten (jedesmal Zeile mit file_put_contents):
Code: Alles auswählen
/* Check for external redirects... */
$sql = "SELECT
a.external_redirect AS ext,
a.idartlang AS idartlang,
a.url_dateiname as dateiname
FROM
".$cfg["tab"]["art_lang"]." AS a,
".$cfg["tab"]["cat_art"]." AS b,
".$cfg["tab"]["cat"]." AS c
WHERE
b.idcat = '".$db->f("idcat")."' AND
c.idclient = '".$client."' AND
c.idcat = b.idcat AND
a.idart = b.idart AND
a.idlang = '".$lang."'";
$db2->query($sql);
#$db2->next_record();
$flag = false;
while ($db2->next_record()&&!$flag) {
if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
{
$flag = true;
$target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';
file_put_contents(DEBUGLOG, "Phase 3: " .$db->f("idcat"). "\n", FILE_APPEND);
$navitems[$db->f("idcat")] = array("idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"dateiname" => $db2->f("dateiname"),
"public" => $db->f("public"),
"idcatlang" => $db->f("idcatlang"),
"target" => $target);
}
}
}
/* Create Navigation Array */
if (($sel_idcat == '') || ($sel_idcat == '0')) {
$cApiClient = new cApiClient($client);
$sel_idcat = $cApiClient->getProperty('navigation', 'idcat_homepage');
}
file_put_contents(DEBUGLOG, print_r($navitems, true) . "\n", FILE_APPEND);
nav($sel_idcat);
file_put_contents(DEBUGLOG, "------------------------------------" . "\n", FILE_APPEND);
/* Start Output buffer */
ob_start();
file_put_contents(DEBUGLOG, print_r($navitems, true) . "\n", FILE_APPEND);
$von[]=" "; $zu[]="-";
$von[]="ü"; $zu[]="ue";
$von[]="Ü"; $zu[]="ue";
$von[]="Ä"; $zu[]="ae";
$von[]="ä"; $zu[]="ae";
$von[]="ö"; $zu[]="oe";
$von[]="Ö"; $zu[]="oe";
hmmm, hoffe das hilft weiter ...?
Danke und Grüße,
Michael
Re: file_put_contents() Fehler
Verfasst: Mo 21. Feb 2011, 22:22
von idea-tec
amabs hat geschrieben:
dachte ich mir schon ... ja, ist lange her (mit frisch geputzten Ohren Samstags auf der Couch)
hatte in der config.misc den codeoutput auf true gesetzt, anbei der Block, in dem die Fehler auftreten (jedesmal Zeile mit file_put_contents):
hmmm, hoffe das hilft weiter ...?
Danke und Grüße,
Michael
Alla ... da du in dem Modul das DEBUGGING vermutlich nicht wirklich brauchen wirst würde ich es einfach mal so versuchen:
Code: Alles auswählen
/* Check for external redirects... */
$sql = "SELECT
a.external_redirect AS ext,
a.idartlang AS idartlang,
a.url_dateiname as dateiname
FROM
".$cfg["tab"]["art_lang"]." AS a,
".$cfg["tab"]["cat_art"]." AS b,
".$cfg["tab"]["cat"]." AS c
WHERE
b.idcat = '".$db->f("idcat")."' AND
c.idclient = '".$client."' AND
c.idcat = b.idcat AND
a.idart = b.idart AND
a.idlang = '".$lang."'";
$db2->query($sql);
#$db2->next_record();
$flag = false;
while ($db2->next_record()&&!$flag) {
if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
{
$flag = true;
$target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';
$navitems[$db->f("idcat")] = array("idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"dateiname" => $db2->f("dateiname"),
"public" => $db->f("public"),
"idcatlang" => $db->f("idcatlang"),
"target" => $target);
}
}
}
/* Create Navigation Array */
if (($sel_idcat == '') || ($sel_idcat == '0')) {
$cApiClient = new cApiClient($client);
$sel_idcat = $cApiClient->getProperty('navigation', 'idcat_homepage');
}
nav($sel_idcat);
/* Start Output buffer */
ob_start();
ich hoffe ich habe auf die schnelle nun nicht zu viel gelöscht
der rest an der navigation sieht doch gut aus, navigation funktioniert, wozu dann das file_put_contents?
wenn man es nicht braucht: raus damit, problem gelöst (oder habe ich was falsch verstanden?)
Re: file_put_contents() Fehler
Verfasst: Di 22. Feb 2011, 00:56
von amabs
Ein dickes Dankeschön!!
habe es gerade entsprechend geändert, und es läuft klaglos, danke für die schnelle Hilfe

...
das Eigenartige ist, daß ich eigentlich genau diese Stellen vorher schonmal auskommentiert hatte und das System mit Fehlermeldungen reagierte: hatte wohl selber zuviel rausgenommen ... !?
Na, Asche auf mein Haupt,
Dir einen schönen Abend (eher Morgen
Viele grüße,
Michael
Re: file_put_contents() Fehler
Verfasst: Di 22. Feb 2011, 07:54
von idea-tec
amabs hat geschrieben:Ein dickes Dankeschön!!
habe es gerade entsprechend geändert, und es läuft klaglos, danke für die schnelle Hilfe

...
Hallo Michael,
gerne doch
Und so sieht die Navigation schon viel hübscher und angenehmer aus