Bonjour,
J'avais effectivement projeté de pouvoir produire une version compatible PHP 7 et au delà pour la fin de l'été mais les aléas familiaux ne m'ont pas permis de tenir le planning prévu.
Il est aujourd'hui peu probable de pouvoir produire une version totalement fonctionnelle pour le 6 décembre, la version pourrait peut être sortir pour le début de l'année 2019.
[...]
Une autre solution serait d'héberger "ExpoActes" chez un autre hébergeur proposant encore du PHP 5.6 en attendant.
Bien cordialement
Emmanuel Lethrosne
Bonsoir,
Heureux d'apprendre par le forum qu'une solution de secours est à l'étude, j'ai trouvé une solution similaire par ailleurs.
J'ai également fait des essais des 2 solutions, elles semblent fonctionner sans avoir constaté de ralentissement, il m'a juste fallu adapter l'appel pour que cela fonctionne sur un serveur local sous Windows.
Voici une solution allégée (que je n'ai pas testé) qui devrait être compatible dans tous les cas :
if (substr(phpversion(), 0, 1) == '7') {
$myroot = dirname(dirname(__FILE__));include_once($myroot . '/tools/mysql.php');
}
Ceci étant, les problèmes PHP 7 ne se limitent pas à mysql/mysqli , il faut aussi oublier l'utilisation de "while ...... = each()" que l'on trouve dans "admin/charge.php" et "tools/traceIP/trace_ip.php"
Si le 2d script n'est pas forcément utilisé, le 1er concerne le chargement de fichier avec lequel il y aura forcément des problèmes.
Bien cordialement
Emmanuel Lethrosne
Aujourd'hui était ma première journée expoacte depuis bien
longtemps :-D
Une classe géniale (Class: PHP MySQL to MySQLi) qui m'a permis en 3 minutes de faire fonctionner expoactes 3.2.2 en local sous PHP 7.3.1 avec Wamp ici :
https://www.phpclasses.org/package/9199-PHP-Replace-mysql-functions-using-the-mysqli-extension.html
C'est gratuit, il suffit de s'inscrire.
Après je suis d'accord avec Emmanuel, il faut voir l'ensemble des fonctionnalités Expoacte pour trouver ce qu'il faut adapter et c'est un sacré boulot pour une seule personne.
Pour le while each de l'import il semble qu'il y ait des solutions ( https://stackoverflow.com/questions/48716437/php-7-2-deprecated-while-each-loop-without-value )
mais je vous laisse vérifier, il y a de nombreuses années que je
n'importe plus de données dans ma base expoacte !
Suite à mon message de hier, j'ai voulu avoir le coeur net concernant les importations avec expoacte 3.2.2 sous PHP 7.3.1.
J'ai donc importé un petit fichier csv de 3000 naissances dans ma base : OK
J'ai "backuppé" ces naissances : OK
J'ai supprimé ces naissances : OK
J' ai restauré le fichier backup : OK
Le soft a recalculé les stats : OK
Conclusion, à la modif près de la classe de transcodage mysql
vers mysqli, Expoacte 3.2.2 semble marcher sans trop de problèmes
sous PHP 7.3.1 sous WAMP en tout cas pour l'usage que j'en fais.
Après, vu la multitude de cas de figures d'utilisation et de fonctionnalités d'expoactes ces tests ne peuvent pas être considérés comme définitifs.
C'est à vous de tester pour identifier d'éventuels problèmes
"Pour info, garder PHP 5.6 chez 1and1/IONOS est facturé 9,37€ TTC par mois et par domaine concerné..." : il ne se font pas chi...!!!
https://www.phpclasses.org/package/9199-PHP-Replace-mysql-functions-using-the-mysqli-extension.html
C'est gratuit et il suffit de s'inscrire.
2 fichiers sont à récupérer : mysql2i.class.php et mysql2i.func.php, il faut les placer dans le répertoire expoactes/tools/.
Ensuite, et pour ma part, j'ai modifié le début des 3 fichiers suivants dans tools : function.php, adlcutils.php et actutils.php.
Tout en haut sous les 5/6 lignes de commentaire il faut rajouter : include_once('mysql2i.class.php'); // pour PHP 7.2
Dans PHP 7.2 il faut oublier l'utilisation de "while ...... = each()"que l'on trouve 1 fois dans 2 fichiers :
- dans admin/charge.php vers la ligne 528 il faut remplacer
while (list($line_num, $line) = each($csv) and (time()-$T0<$Max_time))
{
par
foreach($csv as $line_num => $line) // nouvelle syntaxe PHP 7.2
{
if (time()-$T0>$Max_time) break ; // nouvelle syntaxe PHP 7.2
- dans tools/TraceIP/trace_ip.php vers la ligne 110 il faut remplacer
while(list($key, $val) = each($array_server_values))
par
foreach($array_server_values as $key => $val) // nouvelle syntaxe PHP 7.2
Voilà c'est fini je pense n'avoir rien oublié, pensez à bien sauvegarder les 2 derniers fichiers avant de les modifier.
Bien cordialement.
Gérard GARDETTE
--
Voir aussi le site : http://expoactes.monrezo.be/
et le Wiki : http://sites.google.com/site/expoactes/
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe « Expoactes » de Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse expo...@googlegroups.com
Pour résilier votre abonnement à ce groupe, envoyez un courrier
électronique à l'adresse expoactes-...@googlegroups.com
Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.be/group/expoactes
---
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Expoactes".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse expoactes+...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/8192ac1f-5741-4ce2-b0b2-04201761836d%40googlegroups.com.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse expo...@googlegroups.com.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse expo...@googlegroups.com.
Cordialement Sandy-Pascal Andriant
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/CAAQchpnn6AZzVQsoQq-SpcEXQorcSUzgZ06kxQ%2BvV9APf80XcQ%40mail.gmail.com.
Cordialement Sandy-Pascal Andriant
Andy
J'ai effectué la modification des fichiers et ajouté les 2 classes mentionnées pour 7.2 comme indiqué.
J'ai indiqué 7.2 par défaut dans Direct Admin.hélas le résultat est négatif et m'affiche toujours la même erreur. ligne 714 et 766 dans /tools/function.php
J'essaye d'obtenir les log des mois précédents (ou tout était OK) pour comparer.
J'ai sur le site un fichier unwantedrobot.php, je n'ai pas souvenir qu'il était compris dans l'installation!
Il comprend 64 nom de robot dans un array et en fin:
foreach ($unwanted AS $val) {
if (stristr($_SERVER['HTTP_USER_AGENT'], $val) != FALSE) {
header("HTTP/1.0 404 Not Found");
readfile('404missing.html');
die;
Guy
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/6e029b6e-65db-c86f-69c2-26551eb194c3%40gmail.com.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
Cordialement Sandy-Pascal Andriant
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/CAAQchpnn6AZzVQsoQq-SpcEXQorcSUzgZ06kxQ%2BvV9APf80XcQ%40mail.gmail.com.
Bonjour
En modifiant les sources, tel que décrites ci-dessous j'ai un
problème avec mysql2i. class.php
mysqli_error() attend 1 comme réponse de mysqli à la ligne 136
(gestion de l'erreur) (PHP 7.2)
Une idée
Guy Bonemme
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/CAAQchpnn6AZzVQsoQq-SpcEXQorcSUzgZ06kxQ%2BvV9APf80XcQ%40mail.gmail.com.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
Bonjour
Chez 1&1 passé depuis quelques mois en php 7.2 sans probléme
Simplement en voulant faire la modification complète des 3 fichiers il y a quelque jours
function.php, adlcutils.php et actutils.php.
Fatal error: Cannot redeclare mysql_affected_rows() (previously declared in /homepages/0/d189062106/htdocs/expoactes/actes/tools/mysql.php:237) in /homepages/0/d189062106/htdocs/expoactes/actes/tools/mysql2i.func.php on line 16
Merci pour une idée
Cordialement
Jean Pierre
.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse expo...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/8192ac1f-5741-4ce2-b0b2-04201761836d%40googlegroups.com.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
--
Voir aussi le site : http://expoactes.monrezo.be/
et le Wiki : http://sites.google.com/site/expoactes/
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe « Expoactes » de Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse expo...@googlegroups.com
Pour résilier votre abonnement à ce groupe, envoyez un courrier
électronique à l'adresse expoactes-...@googlegroups.com
Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.be/group/expoactes
---
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Expoactes".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse expo...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/CAAQchpnn6AZzVQsoQq-SpcEXQorcSUzgZ06kxQ%2BvV9APf80XcQ%40mail.gmail.com.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
Le contexte n'est pas suffisamment explicite (quelle module d'ExpoActes et vers quelle ligne l'erreur pointe-t-elle ?), mais une possibilité serait qu'une erreur se produise avant même la connection, et que par conséquent la zone "self::$currObj" n'ait pas été alimentée à la ligne 52 de mysql2i.class.php.
Bonjour à tous
Merci Bernard pour votre mail
Guy m’avait déjà alerté et j’ai suivi les conseils et tout est rentré dans l’ordre (renommé mysql.php par mysql_old.php pour qu’il ne soit plus pris en compte)
cordialement
De : expo...@googlegroups.com [mailto:expo...@googlegroups.com] De la part de Bernard Giroud
Envoyé : mardi 16 juillet 2019 10:02
À : Expoactes
Objet : Re: [ExpoActes] Re: One.com passe à PHP 7.2
Bonjour Jean Pierre,
Le plus probable est que vous ayez les deux méthodes activées, celle que j'avais suggérée dans mon post du 13/11/2018 (mysql.php) et celle de Bin Gardette dans celui du 18 juin. Vous devez en choisir une seule, et à l'heure actuelle je n'ai pas de préconisation.
Le vendredi 12 juillet 2019 09:39:47 UTC+2, Jean Pierre Gourdain a écrit :
Bonjour
Chez 1&1 passé depuis quelques mois en php 7.2 sans problème
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse expoactes+...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/10cf6dae-a965-405b-a285-ab533ebb3eba%40googlegroups.com.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.
--
Voir aussi le site : http://expoactes.monrezo.be/
et le Wiki : http://sites.google.com/site/expoactes/
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe « Expoactes » de Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse expo...@googlegroups.com
Pour résilier votre abonnement à ce groupe, envoyez un courrier
électronique à l'adresse expoactes-...@googlegroups.com
Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.be/group/expoactes
---
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Expoactes".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse expoactes+...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/CAAQchpnQzaS%3DrJ2ja%2BqnR%3DbMVjg1DwS-XiE-Wp6-hrmgicxNPg%40mail.gmail.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/CAL43NPywtnBbHU63vqTe9zzhXB-qwR89Q-eYRFUPHyAbXajOdA%40mail.gmail.com.
Cordialement Sandy-Pascal Andriant
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/CAAQchpn7A5vsL6ObHDAtB5QjcJq-3Zc2Mogkd06k8NUEdWPoZg%40mail.gmail.com.
Tout en haut sous les 5/6 lignes de commentaire il faut rajouter : include_once('mysql2i.class.php'); // pour PHP 7.2
if (version_compare(PHP_VERSION, '7.0.0', '>')) {
include_once('mysql2i.class.php');
// pour PHP 7.2
}
Cela teste d'abord la version de Php
locale et n'applique le patch
('mysql2i.class.php')
QUE SI la version de Php
est supérieure à 7.0.0
Cordialement Sandy-Pascal Andriant
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/CAAQchpnn6AZzVQsoQq-SpcEXQorcSUzgZ06kxQ%2BvV9APf80XcQ%40mail.gmail.com.
Bonjour,
Il suffit de remplacer les "curly braces" { et } par de simples parenthèses ouvrantes et fermantes.
93- $last = strtolower($val(strlen($val)-1));676- if ($path(strlen($path)-1)=='/')
et le Wiki : https://sites.google.com/site/expoactes/
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe « Expoactes » de Google Groupes.
Pour transmettre des messages à ce groupe, envoyez un e-mail à
l'adresse expo...@googlegroups.com
Pour résilier votre abonnement à ce groupe, envoyez un courrier
électronique à l'adresse expoactes-...@googlegroups.com
Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.be/group/expoactes
---
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "Expoactes".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse expoactes+...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/916bb13f-83bc-4192-ab09-d88c787b3621n%40googlegroups.com.
Bonjour,
Vous pouvez essayez de mettre en commentaires le test de get_magic_quotes_gpc ainsi que les deux accolades qui délimite le test comme dans l'exemple joint (attention les numéros de ligne ont un léger décalage, voir lignes 543, 544 et 559 dans la copie d'écran).
Bernard Giroud
Webmestre CGS
Vous recevez ce message, car vous êtes abonné à un sujet dans le groupe Google Groupes "Expoactes".
Pour vous désabonner de ce sujet, visitez le site https://groups.google.com/d/topic/expoactes/QpuUXKO09-I/unsubscribe.
Pour vous désabonner de ce groupe et de tous ses sujets, envoyez un e-mail à l'adresse expoactes+...@googlegroups.com.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/b129b87f-00fd-40fc-859b-773b92251c11n%40googlegroups.com.
Oups !
Répondu trop vite. Oubliez le post précédent. Le test par défaut retournait faux, ce qui fait que l'ensemble du contenu de la fonction doit être vide.
Ci-joint la même fonction sur ma machine de développement qui est, elle, avec 7.4.
Encore toutes mes excuses.
Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msgid/expoactes/53c907ad-e933-c03f-74a3-802bd633b581%40free.fr.