Parse error: syntax error, unexpected T_STRIN

Résolu/Fermé
Ti-Mac - 10 sept. 2008 à 22:14
Droopy_ Messages postés 248 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 17 janvier 2009 - 20 nov. 2008 à 04:58
Bonjour,
en voulant installer phpMyadmin, j'ai eu ce problème quand j'ai voulu lancer le fichier index.php:

Code :

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /mnt/157/sdb/c/7/yannbego/libraries/Error_Handler.class.php on line 25



Et voici le fichier Error_Handler.class.php en question:

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Holds class PMA_Error_Handler
*
* @version $Id: Error_Handler.class.php 10738 2007-10-08 16:02:58Z cybot_tm $
*/

/**
*
*/
require_once './libraries/Error.class.php';

/**
* handling errors
*
*/
class PMA_Error_Handler
{
/**
* holds errors to be displayed or reported later ...
*
* @var array of PMA_Error
*/
protected $_errors = array();

/**
* Constructor - set PHP error handler
*
* @uses set_error_handler()
*/
public function __construct()
{
set_error_handler(array($this, 'handleError'));
}

/**
* Destructor
*
* stores errors in session
*
* @uses $_SESSION['errors']
* @uses array_merge()
* @uses PMA_Error_Handler::$_errors
* @uses PMA_Error::isDisplayed()
*/
public function __destruct()
{
if (isset($_SESSION)) {
if (! isset($_SESSION['errors'])) {
$_SESSION['errors'] = array();
}

if ($GLOBALS['cfg']['Error_Handler']['gather']) {
// remember all errors
$_SESSION['errors'] = array_merge($_SESSION['errors'], $this->_errors);
} else {
// remember only not displayed errors
foreach ($this->_errors as $key => $error) {
if (! $error->isDisplayed()) {
$_SESSION['errors'][$key] = $error;
}
}
}
}
}

/**
* returns array with all errors
*
* @uses PMA_Error_Handler::$_errors as return value
* @uses PMA_Error_Handler::_checkSavedErrors()
* @return array PMA_Error_Handler::$_errors
*/
protected function getErrors()
{
$this->_checkSavedErrors();
return $this->_errors;
}

/**
* Error handler - called when errors are triggered/occured
*
* The following error types cannot be handled with a user defined function:
* E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR,
* E_COMPILE_WARNING,
* and most of E_STRICT raised in the file where set_error_handler() is called.
*
* @uses E_USER_NOTICE
* @uses E_USER_WARNING
* @uses E_STRICT
* @uses E_NOTICE
* @uses E_WARNING
* @uses E_CORE_WARNING
* @uses E_COMPILE_WARNING
* @uses E_USER_ERROR
* @uses E_ERROR
* @uses E_PARSE
* @uses E_CORE_ERROR
* @uses E_COMPILE_ERROR
* @uses E_RECOVERABLE_ERROR
* @uses PMA_Error
* @uses PMA_Error_Handler::$_errors
* @uses PMA_Error_Handler::_dispFatalError()
* @uses PMA_Error::getHash()
* @uses PMA_Error::getNumber()
* @param integer $errno
* @param string $errstr
* @param string $errfile
* @param integer $errline
* @param array $errcontext
*/
public function handleError($errno, $errstr, $errfile, $errline, $errcontext)
{
// create error object
$error = new PMA_Error($errno, $errstr, $errfile, $errline, $errcontext);

// do not repeat errors
$this->_errors[$error->getHash()] = $error;

switch ($error->getNumber()) {
case E_USER_NOTICE:
case E_USER_WARNING:
case E_STRICT:
case E_NOTICE:
case E_WARNING:
case E_CORE_WARNING:
case E_COMPILE_WARNING:
case E_USER_ERROR:
case E_RECOVERABLE_ERROR:
// just collect the error
// display is called from outside
break;
case E_ERROR:
case E_PARSE:
case E_CORE_ERROR:
case E_COMPILE_ERROR:
default:
// FATAL error, dislay it and exit
$this->_dispFatalError($error);
exit;
break;
}
}

/**
* log error to configured log facility
*
* @todo finish!
* @uses PMA_Error::getMessage()
* @uses error_log()
* @param PMA_Error $error
*/
protected function _logError($error)
{
return error_log($error->getMessage());
}

/**
* trigger a custom error
*
* @uses trigger_error()
* @param string $errorInfo
* @param integer $errorNumber
* @param string $file
* @param integer $line
*/
public function triggerError($errorInfo, $errorNumber = null, $file = null, $line = null)
{
// we could also extract file and line from backtrace and call handleError() directly
trigger_error($errorInfo, $errorNumber);
}

/**
* display fatal error and exit
*
* @uses headers_sent()
* @uses PMA_Error::display()
* @uses PMA_Error_Handler::_dispPageStart()
* @uses PMA_Error_Handler::_dispPageEnd()
* @param PMA_Error $error
*/
protected function _dispFatalError($error)
{
if (! headers_sent()) {
$this->_dispPageStart($error);
}
$error->display();
$this->_dispPageEnd();
exit;
}

/**
* display the whole error page with all errors
*
* @uses headers_sent()
* @uses PMA_Error_Handler::dispAllErrors()
* @uses PMA_Error_Handler::_dispPageStart()
* @uses PMA_Error_Handler::_dispPageEnd()
*/
public function dispErrorPage()
{
if (! headers_sent()) {
$this->_dispPageStart();
}
$this->dispAllErrors();
$this->_dispPageEnd();
}

/**
* display user errors not displayed
*
* @uses PMA_Error_Handler::getErrors()
* @uses PMA_Error::isDisplayed()
* @uses PMA_Error::isUserError()
* @uses PMA_Error::display()
*/
public function dispUserErrors()
{
foreach ($this->getErrors() as $error) {
if ($error->isUserError() && ! $error->isDisplayed()) {
$error->display();
}
}
}

/**
* display HTML header
*
* @uses PMA_Error::getTitle()
* @param PMA_error $error
*/
protected function _dispPageStart($error = null)
{
echo '<html><head><title>';
if ($error) {
echo $error->getTitle();
} else {
echo 'phpMyAdmin error reporting page';
}
echo '</title></head>';
}

/**
* display HTML footer
*
*/
protected function _dispPageEnd()
{
echo '</body></html>';
}

/**
* display all errors regardless already displayed or user errors
*
* @uses PMA_Error_Handler::getErrors()
* @uses PMA_Error::display()
*/
public function dispAllErrors()
{
foreach ($this->getErrors() as $error) {
$error->display();
}
}

/**
* display errors not displayed
*
* @uses $cfg['Error_Handler']['display']
* @uses PMA_Error_Handler::getErrors()
* @uses PMA_Error_Handler::dispUserErrors()
* @uses PMA_Error::isDisplayed()
* @uses PMA_Error::display()
*/
public function dispErrors()
{
if ($GLOBALS['cfg']['Error_Handler']['display']) {
foreach ($this->getErrors() as $error) {
if ($error instanceof PMA_Error) {
if (! $error->isDisplayed()) {
$error->display();
}
} else {
var_dump($error);
}
}
} else {
$this->dispUserErrors();
}
}

/**
* look in session for saved errors
*
* @uses $_SESSION['errors']
* @uses PMA_Error_Handler::$_errors
* @uses array_merge()
*/
protected function _checkSavedErrors()
{
if (isset($_SESSION['errors'])) {

// restore saved errors
foreach ($_SESSION['errors'] as $hash => $error) {
if ($error instanceof PMA_Error && ! isset($this->_errors[$hash])) {
$this->_errors[$hash] = $error;
}
}
//$this->_errors = array_merge($_SESSION['errors'], $this->_errors);

// delet stored errors
$_SESSION['errors'] = array();
unset($_SESSION['errors']);
}
}

/**
* return count of errors
*
* @uses PMA_Error_Handler::getErrors()
* @uses count()
* @return integer number of errors occoured
*/
public function countErrors()
{
return count($this->getErrors());
}

/**
* return count of user errors
*
* @uses PMA_Error_Handler::countErrors()
* @uses PMA_Error_Handler::getErrors()
* @uses PMA_Error::isUserError()
* @return integer number of user errors occoured
*/
public function countUserErrors()
{
$count = 0;
if ($this->countErrors()) {
foreach ($this->getErrors() as $error) {
if ($error->isUserError()) {
$count++;
}
}
}

return $count;
}

/**
* whether use errors occured or not
*
* @uses PMA_Error_Handler::countUserErrors()
* @return boolean
*/
public function hasUserErrors()
{
return (bool) $this->countUserErrors();
}

/**
* whether errors occured or not
*
* @uses PMA_Error_Handler::countErrors()
* @return boolean
*/
public function hasErrors()
{
return (bool) $this->countErrors();
}

/**
* number of errors to be displayed
*
* @uses $cfg['Error_Handler']['display']
* @uses PMA_Error_Handler::countErrors()
* @uses PMA_Error_Handler::countUserErrors()
* @return integer number of errors to be displayed
*/
public function countDisplayErrors()
{
if ($GLOBALS['cfg']['Error_Handler']['display']) {
return $this->countErrors();
} else {
return $this->countUserErrors();
}
}

/**
* whether there are errors to display or not
*
* @uses PMA_Error_Handler::countDisplayErrors()
* @return boolean
*/
public function hasDisplayErrors()
{
return (bool) $this->countDisplayErrors();
}
}
?>

N'ayant aucune notion de php (ou très peu ^^) je me retourne vers quelqu'un qui pourra m'éclairer sur ce sujet ! ^^

Merci d'avance! ^^

3 réponses

salut,j'ai le méme probléme,

débute en notion de php donc pas trés évidant pour moi,si quelqu'un a une réponse merci,...
0
Idem pour moi ... je recherche
0
Bonjour

Apparemment, c'est le 'protected' qui ne plaît pas.
Ti n'essaierais pas de faire marcher ce code en PHP 4 par hasard ? Je crois bien que 'protected' n'existe que depuis PHP 5
0
Droopy_ Messages postés 248 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 17 janvier 2009 25
20 nov. 2008 à 04:58
En PHP4 il faut prendre la version 2.x, pas la 3.x
0