Aller au contenu

Problème de remplissage base de donnée avec PhpMyAdmin

Featured Replies

Posté(e)

Bonjour à tous,

j'utilise phpmyadmin pour remplir une base de données domotique. Mon système ne fonctionne plus depuis avril 2016, je soupçonne que le problème est apparu après une mise à jour du syno.

A l'origine je lançais un script php dans le planificateur de tache du nas, ça a bien fonctionné pendant 2 ans. A cherchant la cause, je me suis aperçu qu'il faut maintenant lancer le fichier php à partir du navigateur web de mon pc et il faut également que la page de web station soit ouverte dans le navigateur également.

Merci à celui qui pourra me venir en aide.

Posté(e)

Si tu lance ton script php en ligne de commandes (via ssh), ça donne quoi ?

Sans message d'erreur ni même voir le script, personne ne pourra t'aider.

Posté(e)
  • Auteur

Merci l’intérêt que tu porte à mon problème. Par contre désolé je ne connais pas ssh. Par contre mon système travaille en local si ça peut aider. J'ai avancé un peu depuis mon premier message, j'ai décoché site web personnel dans web station et du coup je n'ai plus besoin de garder web station ouvert.

Pour ce qui est du script, je ne suis pas sur qu'il soit en cause, car lorsque je fait :  http://ip du nas/zibase/cron/enrsondes.php tout fonctionne correctement.

Si je fais dans le planificateur de tache php -f/volume1/web/zibase/cron/enrsondes.php ca ne fonctionne pas correctement. J'ai une partie du script qui s'exécute, mais ça bloque au moment du script de connection au nas. De plus je n'ai pas de message d'erreur donc pas facile d'avancer.

Ce qui me semble bizarre c'est pourquoi il fonctionnerait d'une manière et pas de l'autre. Mon soucis c'est que je veux lancer a intervalle régulier mon script (15 minutes), donc il faut pouvoir automatiser le système et le planificateur de tache était une bonne solution.

Script de connection à la base de données :

<?php
global $soft_config,$db;
if (!isset($db)){
        $db = @mysql_connect($soft_config['dbServer'],$soft_config['dbLogin'],$soft_config['dbPwd']) or die ("<br>Problème de connexion");
}
echo "connect ok";
?>

 

Modifié par hm9720

Posté(e)
  Le 1/22/2017 à 7:33 PM, hm9720 a dit :

De plus je n'ai pas de message d'erreur donc pas facile d'avancer.

C'est pour ça qu'il faut aller regarder en ssh, ou alors tu dois faire un script propre qui log ses erreurs.

  Le 1/22/2017 à 7:33 PM, hm9720 a dit :

<?php
global $soft_config,$db;

Rien que ça est suffisant pour que ça ne fonctionne pas, les variables globales sont à proscrire (et je crois qu'elles ne font plus du tout géré par php).

Posté(e)
  • Auteur

Ce n'est pas moi qui suis à l'origine des scripts, ces derniers ont été copier sur le net, je n'ai pas les compétence pour pondre cela. Il y a pas mal de variables globales. Je vais essayer de faire des test dans la semaine et on verra bien.

Ce qui m'étonne c'est que ces scripts fonctionnent en passant par le navigateur, donc s'ils n'étaient pas correct je ne devrais pas fonctionner non plus.

C'est ma théorie, mais peut être que j'ai tout faux.

Merci.

Modifié par hm9720

Posté(e)
  • Auteur

Problème résolu, solution trouvé sur net et aussi grâce au support synology, merci à eux pour leurs dispos.

solution : il fallait faire php56 -f/volume1/web/zibase/cron/enrsondes.ph au lieu de  php -f/volume1/web/zibase/cron/enrsondes.php .

56 pour la version 5.6 de phpmyadmin.

Si ça peut servir à quelqu'un.

Merci Fenrir pour ton aide.

Posté(e)

Je me suis trompé, les variables globales sont toujours prises en compte, j'ai confondu avec les super-globales qui ont été supprimée en php 5.4

  Le 1/27/2017 à 7:12 PM, hm9720 a dit :

56 pour la version 5.6 de phpmyadmin.

Ça veut surtout dire que ton code n'est pas compatible avec php7, tu risque donc d'avoir des soucis, php 5.6 n'est déjà plus supporté (depuis le 19 janvier), seuls les patchs de sécurités le seront encore : http://php.net/supported-versions.php

Commence à mettre à jour ton code (tu as encore le temps).

Posté(e)
  • Auteur

Je ne comprends pas très bien pourquoi mon code ne sera plus à jour, tu pourrais m'en dire plus. Je ne suis pas du tout expert en php.

Posté(e)

php5.6 n'est plus supporté, donc s'il y a un bug (qui ne touche pas à la sécurité), il ne sera plus corrigé et dans un an, même les failles de sécurités ne seront plus corrigées.

La version actuelle de php est la  7.1 (Synology ne propose que la 7.0, mais c'est assez proche), supportée jusqu'à fin 2019 (au moins).

Il est possible que ton code soit compatible avec php7 (/usr/local/bin/php70), dans ce cas pas de soucis, mais si ce n'est pas le cas, il faudra l'adapter, mieux vaut le faire maintenant que trop tard.

Modifié par Lucien77
Inutile de citer le post précédent

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.