hm9720 Posté(e) le 22 janvier 2017 Posté(e) le 22 janvier 2017 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. 0 Citer
Fenrir Posté(e) le 22 janvier 2017 Posté(e) le 22 janvier 2017 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. 0 Citer
hm9720 Posté(e) le 22 janvier 2017 Auteur Posté(e) le 22 janvier 2017 (modifié) 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é le 22 janvier 2017 par hm9720 0 Citer
Fenrir Posté(e) le 22 janvier 2017 Posté(e) le 22 janvier 2017 il y a 36 minutes, 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. il y a 36 minutes, 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). 0 Citer
hm9720 Posté(e) le 22 janvier 2017 Auteur Posté(e) le 22 janvier 2017 (modifié) 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é le 22 janvier 2017 par hm9720 0 Citer
hm9720 Posté(e) le 27 janvier 2017 Auteur Posté(e) le 27 janvier 2017 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. 0 Citer
Fenrir Posté(e) le 27 janvier 2017 Posté(e) le 27 janvier 2017 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 il y a 55 minutes, 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). 0 Citer
hm9720 Posté(e) le 28 janvier 2017 Auteur Posté(e) le 28 janvier 2017 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. 0 Citer
Fenrir Posté(e) le 28 janvier 2017 Posté(e) le 28 janvier 2017 (modifié) 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é le 28 janvier 2017 par Lucien77 Inutile de citer le post précédent 0 Citer
Einsteinium Posté(e) le 28 janvier 2017 Posté(e) le 28 janvier 2017 Sinon il y a curl aussi, pas besoin de s'occuper des versions de php pour le lancement 0 Citer
hm9720 Posté(e) le 28 janvier 2017 Auteur Posté(e) le 28 janvier 2017 Merci à vous, je vais regarder cela 0 Citer
Messages recommandés
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.