Newsscript läßt sich nur teilweise aufrufen - nach Server-Update auf > php5.3

annoedv

Grünschnabel
Hallo,

ich habe ein Problem, bei dem ihr mir vielleicht helfen könnt. Ich mußte kurzfristig auf php5.3 umsteigen, alter Webserver streikte und Neuinstalltion nur mit o.a Version. Nun habe ich auf unsrer Homepage ein news-script laufen, welches mir in Teilen die Arbeit verweigert. Die Anzeige von archivierten News (liegen auf einem mysql-Server) ist problemlos möglich, jedoch beim Versúch mich im System via login-Maske (über die Homepage) anzumelden, bleibt die Seite mit dem login leer.

Ich habe das Seiten-script
PHP:
<?php
require("classes/class.mysql.php");	// include our mySQL-class
require("classes/class.gui.php");	// include our GUI-class

/* include config-file */
require("config.inc.php");

/* get news-class and connect to mySQL */
require("classes/class.news.php");
$xnews = new xNews($cfg['mysql_host'], $cfg['mysql_user'], $cfg['mysql_pass'], $cfg['mysql_db']);

/* include language-file */
require("./lang/".$cfg['lang']);

/* are we showing fully-news? */
if($_GET['act'] == "shownews") { echo $xnews->shownews(); exit; }

/* include header */
include("inc/head.inc.php");

/* what are we going to do? ;) */

if(isset($_GET['act'])) 	$act = $_GET['act'];
else				$act = $_POST['act'];

switch ($act)
{
	// show up the login-form or the menu (in case of logged in or not)
	default:	
		if(!$xnews->check_login()) 	echo $xnews->gui->login_box();
		else				echo $xnews->gui->menu();
		break;
	
	// manage mailinglist
	case mailinglist;
		if(!$xnews->check_login()) 	echo $xnews->gui->login_box();
		else				echo $xnews->mailinglist_showall();
		break;
	
	// delete an email from the list (all user)
	case del_email:
		echo $xnews->del_email();
		break;
	
	// add an email to the list (all user)
	case add_email:
		echo $xnews->add_email();
		break;
	
	// show mailinglist-form
	case email:
		echo $xnews->gui->listbox(); 
		break;
	
	// save mailfooter (csv)
	case save_mailfooter:
		if(!$xnews->check_login()) 	echo $xnews->gui->login_box();
		else				echo $xnews->save_mailfooter();
		break;
	
	// login and register sess-var's if ok (all user)
	case login:
		echo $xnews->login();
		break;
	
	// logout (all user)
	case logout:
		echo $xnews->logout();
		break;
	
	// addnews-form
	case addnews:
		if(!$xnews->check_login()) 	echo $xnews->gui->login_box();
		else				echo $xnews->gui->add_news_form();
		break;
	
	// edit-news-form
	case editnews:
		if(!$xnews->check_login()) 	echo $xnews->gui->login_box();
		else				echo $xnews->edit_news_headlines();
		break;
	
	// form zum edit
	case edit_newsitem:
		if(!$xnews->check_login()) 	echo $xnews->gui->login_box();
		else				echo $xnews->editbox();
		break;
	
	// save edited news
	case save_edited_news:
		if(!$xnews->check_login()) 	echo $xnews->gui->login_box();
		else				echo $xnews->save_news(true);
		break;
	
	// save news
	case save_news:
		if(!$xnews->check_login()) 	echo $xnews->gui->login_box();
		else				echo $xnews->save_news();
		break;
	
	// delete newsitem
	case delete_newsitem:
		if(!$xnews->check_login()) 	echo $xnews->gui->login_box();
		else				echo $xnews->delete_news();
		break;
	
	// show preferences
	case prefs:
		if(!$xnews->check_login()) 	echo $xnews->gui->login_box();
		else				echo $xnews->gui->show_prefs();
		break;
	
	// save preferences
	case save_prefs:
		if(!$xnews->check_login()) 	echo $xnews->gui->login_box();
		else				echo $xnews->save_prefs();
		break;
	
	// show template
	case template:
		if(!$xnews->check_login()) 	echo $xnews->gui->login_box();
		else				echo $xnews->gui->show_template();
		break;
	
	// save template
	case save_template:
		if(!$xnews->check_login()) 	echo $xnews->gui->login_box();
		else				echo $xnews->save_template();
		break;
	
	// generate news
	case generate:
		if(!$xnews->check_login()) 	echo $xnews->gui->login_box();
		else				echo $xnews->generate_csv();
		break;
	
	// useradmin
	case useradmin:
		if(!$xnews->check_login()) 	echo $xnews->gui->login_box();
		else				echo $xnews->useradmin();
		break;
	
	// archive (all user)
	case archive:
		echo $xnews->archive();
		break;
	
	// search (all users)
	case search:
		echo $xnews->search_results();
		break;
}

/* include footer */
include("inc/foot.inc.php");

// debug-info:
echo $xnews->db->error();

/* close mySQL-connection */
$xnews->db->close();

/* try to unlink setup.php, if we came from there */
if($_GET['setup'] == 1) {
	
	if(!@unlink("setup.php"))	echo "<h3><font color='red'>Couldn't remove setup.php - please remove manually******</font></h3>";
}
?>

mal per Software auf Versions-Kompablilität prüfen lassen, und bekam den nachstehenden Kommentar:

Result:
HTML:
<br /> <b>Warning</b>: require(classes/class.mysql.php) [<a href='function.require'>function.require</a>]: failed to open stream: No such file or directory in <b>[...][...]</b> on line <b>19</b><br /> <br /> <b>Fatal error</b>: require() [<a href='function.require'>function.require</a>]: Failed opening required 'classes/class.mysql.php' (include_path='.:/home/phpfunctions/phpVersions/5.3.10/lib/php') in <b>[...][...]</b> on line <b>19</b><br />

Kann man den Fehler schnell beheben, so daß das Script wieder läuft? - Ich habe bis jetzt noch nichts passendes als Ersatz gefunden.

Andreas
 
Hi und Willkommen bei tutorials.de,

der Fehler ist doch ziemlich eindeutig:
Es fehlt die genannte Datei am Server.
 
include_path='.:/home/phpfunctions/phpVersions/5.3.10/lib/php'

Wenn ich ganz weit ins Blaue schießen sollte, würde ich sagen, dass (manche) Quellcode-Dateien in /home/phpfunctions/phpVersions/5.3.10/lib/php liegen sollten, sich aber noch in /home/phpfunctions/phpVersions/5.2.17/lib/php (oder so) befinden.

Das kann aber völliger Unsinn sein. Da steht eben ein versionsspezifisches Verzeichnis im Include-Pfad und ein Aufruf wie require("classes/class.mysql.php"); wird gegen den geprüft. Das muss nicht relevant sein, kann aber.
 
Zurück