Archiv verlassen und diese Seite im Standarddesign anzeigen : apache gecrasht, jetzt mysql/php fehler
Auf unserem Server hats heute den Apache 2 gecrasht. Nun das haben wir auch wieder hinbekommen.
Seitdem haben wir aber n Problem mit php scripten auf dem Server.
Z.b. bei Corenews und anderen
http://www.netzgames.net
haben wir solche fehler
Warning: main(config.) [function.main]: failed to create stream: No such file or directory in /var/www/html/web/netzgames/corenews2/shownews.php on line 7
Fatal error: main() [function.main]: Failed opening required 'config.' (include_path='.:/usr/local/lib/php') in /var/www/html/web/netzgames/corenews2/shownews.php on line 7
was könnte das sein ?
arbeitet php 4.3.0 mit dem apache2 korrekt zusammen? die vorherigen php versionen taten das nicht vernünftig.
ich hab mit dieses 'corenews' gerade mal angesehen, das ist ziemlich unsauber geschrieben.
ich würds nicht verwenden...
ich denke, der fehler entsteht dadurch, dass du 'register_globals' in der php.ini auf 'Off' stehen hast.
das ist richtig so und sollte eigentlich aus sicherheitsgründen auch nicht geändert werden, aber 'corenews' benötigt diese option.
$extension = explode(".", $PHP_SELF);
$ext_count = count($extension);
$extension = "." . $extension[$ext_count-1];
require("config".$extension);
require_once("coresql".$extension);
$PHP_SELF steht sonst nicht zur verfügung. deshalb kann die dateiendung nicht bestimmt werden und daduch entsteht der fehler beim einbinden der dateien. die variable $extension hat keinen wert.
ersetz mal die ersten drei zeilen:
$extension = explode(".", $PHP_SELF);
$ext_count = count($extension);
$extension = "." . $extension[$ext_count-1];
durch
$extension = '.php';
und probier obs läuft.
aber selbst wenn, wird es da sicher an andere stelle noch probleme geben.
du müsstest 'register_globals' in der php.ini auf 'On' setzen (und den apache dann neu starten).
nur kann ich dir das nicht empfehlen. es wäre besser, wenn du deine scripte anpassen würdest, denn alle sauber geschriebenen scripte laufen auch so - müssen sie sogar, in zukunft wird es diese option nichtmehr geben.
gottlob gibt es das vb-germany board.
@martin big thx *lob* *anbet* *vergöttert*
Das war genau das richtige.
ok zu früh gefreut.
Irgendwas scheint da noch nicht ganz zu klappen
Warning: setlocale() [function.setlocale]: Passing locale category name as string is deprecated. Use the LC_* -constants instead. in /var/www/html/web/gtaworld/mainfile.php on line 532
das ist ok.
die warnung besagt nur, dass die methode mit der setlocale() dort verwendet wird veraltet ist (und in zukunft wegfällt) und nicht länger verwendet werden soll.
informationen zur anwendung von setlocale() findest du dort:
http://de.php.net/manual/de/function.setlocale.php
wenn du damit nichts anfangen kannst, kopier mal die in der fehlermeldung angegebene zeile, und zwei, drei zeilen drüber und drunter, hier rein.
ich wurschtel mich mit PHP zwar so durch, aber für mehr reichts eben auch nicht :p
function formatTimestamp($time) {
global $datetime, $locale;
setlocale ("LC_TIME", "$locale"); */Das ist Zeile 532
ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $time, $datetime);
$datetime = strftime(""._DATESTRING."", mktime($datetime[4],$datetime[5],$datetime[6],$datetime[2],$datetime[3],$datetime[1]));
$datetime = ucfirst($datetime);
return($datetime);
}
ersetz die zeile mal durch
setlocale (LC_TIME, "$locale");
LC_TIME ist ein konstante, da dürfen keine " " herum sonst wäre das ein string. deshalb die fehlermeldung nehme ich an.
um das $locale sollten denke ich auch keine " " stehen, das sollte aber nicht das problem sein. im zweifelsfall kannst dus da aber auch mal ohne probieren wenn es nicht funktionieren sollte.
alternativ kannst du auch einfach
setlocale (LC_TIME, 'de_DE');
schreiben.
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.