Buongiorno a tutti,
ho un problema che non riesco a capire come risolvere.
ho un sito web scritto con php procedurale, se lo hosto su aruba o su tophost (cito loro due in quanto sono gli hosting che ho usato fino ad ora) non ricevo nessun messaggio di errore, se invece lo hosto sulla mia vps (una vps che acquistai su hostgator) ricevo dei messaggi di errore del tipo:
"Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/mbe026/public_html/admin.php:1) in /home/mbe026/public_html/admin.php on line 2"
ovviamente alla linea 1 del file admin.php c'è la dicitura <?php e alla linea 2 invece c'è il comando session_start();
per accedere a quella pagina non eseguo nessun login o niente di che, ora vi copio cosa fa quella pagina
codice:
<?phpsession_start();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>MBE - Admin</title>
<!-- FAVICON -->
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon">
<link rel="icon" href="img/favicon.ico" type="image/x-icon">
<!-- /FAVICON -->
<link href="http://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href="css/pingendo-bootstrap.css" rel="stylesheet" type="text/css">
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap-glyphicons.css" rel="stylesheet">
<link href="css/bootstrap-toggle.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="css/style.css" rel="stylesheet">
<!-- Just for debugging purposes. Don't actually copy this line! -->
<!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<?php
if(!isset($_SESSION['admin'])) {
?>
<div class="section dark">
<div class="container">
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12 text-center">
<h1 class="title">Pannello di controllo <i class="fa fa-cog fa-spin"></i></h1>
</div>
<div class="col-md-6 col-md-offset-3 col-sm-8 col-sm-offset-1 col-xs-12 text-center">
<form class="margined-top" method="POST" action="login.php">
<div class="form-group col-md-12 col-sm-12 col-xs-12">
<label class="label-light" for="inputAdmin">Username</label>
<input type="text" class="form-control" id="inputAdmin" name="inputAdmin">
</div>
<div class="form-group col-md-12 col-sm-12 col-xs-12">
<label class="label-light" for="inputPassword">Password</label>
<input type="password" class="form-control" id="inputPassword" name="inputPassword">
</div>
<!--
<div class="form-group col-md-12 col-sm-12 col-xs-12 text-center">
<div class="checkbox">
<label class="label-light">
<input type="checkbox" name="checkRemember"> Resta collegato
</label>
</div>
</div>
-->
<div class="form-group col-md-12 col-sm-12 col-xs-12 text-center">
<a href="index.php" class="btn btn-lg btn-primary">Torna al sito</a>
<button type="submit" class="btn btn-lg btn-success" name="submitAdmin">Accedi</button>
</div>
</form>
</div>
</div>
</div>
</div>
<?php
}
else {
?>
<div class="section dark">
<div class="container">
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12 text-center">
<h1 class="title">Benvenuto Amministratore</h1>
</div>
<div class="col-md-12 col-sm-12 col-xs-12 text-center margined-top">
<div class="col-md-4 col-md-offset-2 col-sm-6 col-xs-12 text-center">
<a href="index.php" class="btn btn-lg btn-block btn-primary"><i class="fa fa-home"></i> Home</a>
</div>
<div class="col-md-4 col-sm-6 col-xs-12 text-center">
<a href="logout.php" class="btn btn-lg btn-block btn-danger"><i class="fa fa-times"></i> Esci</a>
</div>
</div>
</div>
</div>
</div>
<!-- COMANDI -->
<div class="section">
<div class="container">
<div class="row">
<div class="col-md-4 col-sm-4 col-xs-12 text-center margined-top">
<a class="btn btn-lg btn-admin-stylezed" href="cover_admin.php">
<span><i class="fa fa-book"></i></span>
<p>Copertina</p>
</a>
</div>
<div class="col-md-4 col-sm-4 col-xs-12 text-center margined-top">
<a class="btn btn-lg btn-admin-stylezed" href="news_admin.php">
<span><i class="fa fa-newspaper-o"></i></span>
<p>News</p>
</a>
</div>
<div class="col-md-4 col-sm-4 col-xs-12 text-center margined-top">
<a class="btn btn-lg btn-admin-stylezed" href="who_admin.php">
<span><i class="fa fa-question"></i></span>
<p>Chi siamo</p>
</a>
</div>
</div>
</div>
</div>
<?php
}
?>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script type="text/javascript" src="http://netdna.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
</body>
</html>
bene detto ciò adesso vi espongo cosa ho fatto
ho impostato sulla VPS temporaneamente per non avere l'errore il campo error_reporting a ZERO invece che "E_ALL & ~E_DEPRECATED & ~E_STRICT" -> era la dicitura di default che aveva la VPS.
in questo modo non visualizzo più l'errore sulla VPS e quindi online non appare più l'errore e tutto funziona a meraviglia, però l'errore comunque c'è e questa cosa non mi sta bene dunque sono andato in locale per cercare di risolvere l'errore.
apro il php.ini del mio Apache (uso XAMPP su Windows) e vado a vedere come è settato l'error_reporting in locale visto che non mi stampa nessun errore - e vedo che l'error_reporting è settato a E_ALL & ~E_DEPRECATED & ~E_STRICT - stessa dicitura che aveva la VPS quando mi stampava l'errore.
Dunque, visto che in locale non ricevo nessuna notifica di errori, e sulla VPS si, come posso risolvere questo problema?
Grazie