IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Android et PHP


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 4
    Par défaut Android et PHP
    Bonjour,

    Je suis actuellement en stage et je travaille sur un site web en php qui doit générer des applications mobiles en java. Mon problème : impossible d'exécuter des commandes android depuis PHP. Ce bout de code provient de mon controller.php.

    putenv("ANDROID_SDK_ROOT=/opt/android-sdk-19.0");

    putenv("PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools");

    putenv("PATH=$PATH:$ANDROID_SDK_ROOT/tools");

    //shell_exec("cd genarate/$appid/$appname/src;mkdir natacha");

    $cmd="android update project --target 1 --name Myproject --path ./genarate/$appid/$appname";

    shell_exec($cmd);




    C'est étrange car cette commande //shell_exec("cd genarate/$appid/$appname/src;mkdir natacha");
    créer bien "natacha". De plus, depuis le terminal ma commande android update fonctionne.

    Pour essayer de résoudre mon problème j'ai créer un script bash et qui est appelé depuis controller.php:
    #!/bin/bash

    date > /tmp/last.jnk

    echo"Hello le monde">> /tmp/last.jnk

    date >> /tmp/last.jnk

    echo"goodbye">> /tmp/last.jnk

    env >> /tmp/last.jnk

    env| grep ANDROID >> /tmp/last.jnk



    J'obtiens :


    [natacha@call1669 geodiva]$ cat /tmp/last.jnk

    Hello le monde
    goodbye



    Des idées svp? Merci d'avance

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    Est-ce que c'est une application CLI? À y réflechir comme ça (mais sans certitude), je ne suis pas sûr qu'utiliser putenv() en mode serveur (CGI/php-fpm etc...) modifie les variables utilisables par android.

    Mets le code dans un script CLI, un fichier exécutable avec un shebang #!/usr/bin/php, puis exécute ce fichier depuis ton controlleur.

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 4
    Par défaut
    Bonjour et merci pour votre réponse. Non, ce n'est pas une application CLI. J'ai quand même fais ce que vous m'avez proposé et ça ne fonctionne pas

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    Et si tu lances le script CLI directement depuis la console? Le script CLI doit contenir non seulement les putenv, mais aussi shell_exec.

    Autre solution: fais un script bash pour définir les variables d'environnement, puis lancer ce script et exécuter android update depuis le script PHP.

  5. #5
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 711
    Par défaut
    essayez de mettre un chemin absolu pour l'exécutable android

  6. #6
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 4
    Par défaut
    Merci à vous deux le problème est partiellement réglé. Maintenant j'ai ce message d'erreur :

    Error occurred during initialization of VM
    Could not reserve enough space for code cache

    C'est étrange car si je lance la même commande depuis le terminal, et non depuis le script php, tout fonctionne...

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    1 576
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 576
    Par défaut
    Est-ce que tu peux poster la solution que tu as utilisée pour régler le précédent problème? La réponse à la 2e question dépend (peut-être) de la première.

Discussions similaires

  1. Communication entre android et php
    Par feriela dans le forum Android
    Réponses: 3
    Dernier message: 18/04/2013, 10h15
  2. Connexion Android et PHP
    Par leila22 dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 12/05/2012, 16h59
  3. Developper sous Android avec PHP
    Par QAYS dans le forum Langage
    Réponses: 3
    Dernier message: 14/10/2011, 12h26
  4. Android MySql PHP
    Par abablex dans le forum Android
    Réponses: 7
    Dernier message: 28/05/2011, 18h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo