Bonjour à tous,
Je viens de loin puisque j’avais une installation en « 3. quelque chose » qui m’a bien servi pendant des années!
J’ai décidé hier de faire la mise à jour, téléchargé nouvelle version, fait les sauvegardes, supprimé tous les répertoires sauf documents, réinjecté les fichiers nouvelle version puis le fichier conf sauvegardé et finalement mis le fichier install.lock dans documents.
pour info je suis sur un serveur dédié hébergé chez un prestataire, PHP est en 7.3
Toutes les mises à jour se sont bien passées sauf que maintenant j’ai accès à l’écran de connexion (bien qu’il soit bizarre car il prend toute la page), je mets les identifiants, puis erreur 500 « cette page n’est pas disponible pour le moment ».
Vu dans ce forum que page vide = erreur php donc j’ai été voir le log et effectivement il y a une erreur dans le fichier fonctions.lib.php, ligne 1
[26-Oct-2020 09:23:01] WARNING: [pool domaine.fr] child 12996 said into stderr: « NOTICE: PHP message: PHP Parse error: syntax error, unexpected ' »’ in /var/www/vhosts/domaine.fr/httpdocs/crm4/htdocs/core/lib/functions.lib.php(7210) : eval()'d code on line 1"
J’ai été voir le fichier et je suis incapable de dire si quelque chose ne fonctionne pas.
Voici la première page. Si quelqu’un pouvait m’indiquer le pourquoi du comment… Je serai redevable pendant un gros bout de temps!!! Option serait de réinstaller en 12.0.2, réinjecter le dump de la base de données et le fichier conf et répertoire documents. Mais bon si je pouvais éviter, ça serait bien.
Bonne journée!
<?php
/* Copyright (C) 2000-2007 Rodolphe Quiedeville <[email protected]>
* Copyright (C) 2003 Jean-Louis Bergamo <[email protected]>
* Copyright (C) 2004-2018 Laurent Destailleur <[email protected]>
* Copyright (C) 2004 Sebastien Di Cintio <[email protected]>
* Copyright (C) 2004 Benoit Mortier <[email protected]>
* Copyright (C) 2004 Christophe Combelles <[email protected]>
* Copyright (C) 2005-2019 Regis Houssin <[email protected]>
* Copyright (C) 2008 Raphael Bertrand (Resultic) <[email protected]>
* Copyright (C) 2010-2018 Juanjo Menent <[email protected]>
* Copyright (C) 2013 Cédric Salvador <[email protected]>
* Copyright (C) 2013-2017 Alexandre Spangaro <[email protected]>
* Copyright (C) 2014 Cédric GROSS <[email protected]>
* Copyright (C) 2014-2015 Marcos García <[email protected]>
* Copyright (C) 2015 Jean-François Ferry <[email protected]>
* Copyright (C) 2018-2020 Frédéric France <[email protected]>
* Copyright (C) 2019 Thibault Foucart <[email protected]>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
* or see https://www.gnu.org/
*/
/**
* \file htdocs/core/lib/functions.lib.php
* \brief A set of functions for Dolibarr
* This file contains all frequently used functions.
*/
include_once DOL_DOCUMENT_ROOT.'/core/lib/json.lib.php';
/**
* Return a DoliDB instance (database handler).
*
* @param string $type Type of database (mysql, pgsql...)
* @param string $host Address of database server
* @param string $user Authorized username
* @param string $pass Password
* @param string $name Name of database
* @param int $port Port of database server
* @return DoliDB A DoliDB instance
*/
function getDoliDBInstance($type, $host, $user, $pass, $name, $port)
{
require_once DOL_DOCUMENT_ROOT."/core/db/".$type.'.class.php';
$class = 'DoliDB'.ucfirst($type);
$dolidb = new $class($type, $host, $user, $pass, $name, $port);
return $dolidb;
}
/**
* Get list of entity id to use.
*
* @param string $element Current element
* 'societe', 'socpeople', 'actioncomm', 'agenda', 'resource',
* 'product', 'productprice', 'stock', 'bom', 'mo',
* 'propal', 'supplier_proposal', 'invoice', 'supplier_invoice', 'payment_various',
* 'categorie', 'bank_account', 'bank_account', 'adherent', 'user',
* 'commande', 'supplier_order', 'expedition', 'intervention', 'survey',
* 'contract', 'tax', 'expensereport', 'holiday', 'multicurrency', 'project',
* 'email_template', 'event', 'donation'
* 'c_paiement', 'c_payment_term', ...
* @param int $shared 0=Return id of current entity only,
* 1=Return id of current entity + shared entities (default)
* @param object $currentobject Current object if needed
* @return mixed Entity id(s) to use ( eg. entity IN ('.getEntity(elementname).')' )
*/
function getEntity($element, $shared = 1, $currentobject = null)
{
global $conf, $mc;
if (is_object($mc))
{
return $mc->getEntity($element, $shared, $currentobject);
}
else
{
$out = '';
$addzero = array('user', 'usergroup', 'c_email_templates', 'email_template', 'default_values');
if (in_array($element, $addzero)) $out .= '0,';
$out .= $conf->entity;
return $out;