google php android mysql google-app-engine phpmyadmin

¿El envío de REST Call a Google Cloud PHPMyAdmin Server no funciona?



ssh google cloud (1)

No sé cuál es exactamente tu pregunta, no está claro. pero ya que usted preguntó: Is there any way I can debug whether or not my script is actually going into the PHP code? How can I debug the PHP code? Is there any way I can debug whether or not my script is actually going into the PHP code? How can I debug the PHP code? Aquí está tu respuesta:

Cambie su código php a esto:

<?php if (isset($_POST["Token"])) { $_uv_Token=$_POST["Token"]; $conn = mysqli_connect("<db link>.appspot.com","root","","fcm") or die("Error connecting"); $q="INSERT INTO users (`Token`) VALUES ( `{$_uv_Token}`) " ." ON DUPLICATE KEY UPDATE `Token` = `{$_uv_Token}`;"; mysqli_query($conn,$q) or die(mysqli_error($conn)); mysqli_close($conn); } else { echo "Token is not set!"; } ?>

luego, en NotificationInstanceService.java verifique la respuesta de la llamada OkHttpClient :

... try { Response response = client.newCall(request).execute(); } catch (IOException e) { e.printStackTrace(); } if (!response.isSuccessful()){ Log.w(TAG, "Unexpected response"+response.toString()); } else { Log.w(TAG, "response: "+response.body().string()); } ...

He implementado con éxito un servidor phpMyAdmin en Google Cloud siguiendo este link . Tengo problemas para intentar escribir en una base de datos que hice en phpMyAdmin . Estoy tratando de crear un servicio de notificación basado en la nueva Firebase Cloud Messaging que Google ha lanzado.

NotificationInstanceService.java

public class NotificationInstanceService extends FirebaseInstanceIdService { private static final String TAG = "NotificationInstance"; @Override public void onTokenRefresh() { //Getting registration token String refreshedToken = FirebaseInstanceId.getInstance().getToken(); //Displaying token on logcat Log.d(TAG, "Refreshed token: " + refreshedToken); sendRegistrationToServer(refreshedToken); } private void sendRegistrationToServer(String token) { //You can implement this method to store the token on your server //Not required for current project OkHttpClient client = new OkHttpClient(); //Create the request body RequestBody body = new FormBody.Builder().add("Token", token).build(); //Know where to send the request to Request request = new Request.Builder().url("<db link>.appspot.com/fcm/register.php") .post(body) .build(); //Create try { client.newCall(request).execute(); } catch (IOException e) { e.printStackTrace(); } } }

Y https://<db link>.appspot.com , en https://<db link>.appspot.com , un archivo en /fcm/register.php que parece ser así:

register.php

<?php if (isset($_POST["Token"])) { $_uv_Token=$_POST["Token"]; $conn = mysqli_connect("<db link>.appspot.com","root","","fcm") or die("Error connecting"); $q="INSERT INTO users (Token) VALUES ( ''$_uv_Token'') " ." ON DUPLICATE KEY UPDATE Token = ''$_uv_Token'';"; mysqli_query($conn,$q) or die(mysqli_error($conn)); mysqli_close($conn); } ?>

Estoy confundido porque parece que no escribo nada en mi base de datos llamados usuarios que sé que ya creé en el servidor MySQL creado en phpMyAdmin . Sé que el nombre de usuario y la contraseña también están configurados en register.php. ¿Hay alguna manera de que pueda depurar si mi script va o no al código PHP? ¿Cómo puedo depurar el código PHP? También creo que la Solicitud se está construyendo, ya que puedo depurar a través de esa parte del código. Cualquier ayuda sería apreciada. ¡Gracias!

EDITAR: Algunos archivos que pueden ser útiles que creé al intentar implementar mi servidor:

app.yaml:

application: <app server url> service: default runtime: php55 api_version: 1 version: alpha-001 handlers: - url: /(.+/.(ico|jpg|png|gif))$ static_files: /1 upload: (.+/.(ico|jpg|png|gif))$ application_readable: true - url: /(.+/.(htm|html|css|js))$ static_files: /1 upload: (.+/.(htm|html|css|js))$ application_readable: true - url: /(.+/.php)$ script: /1 login: admin - url: /.* script: index.php login: admin - url: /.* script: register.php login: admin

config.inc.php:

<?php $cfg[''blowfish_secret''] = ''<Secret>''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ /* * Servers configuration */ $i = 0; // Change this to use the project and instance that you''ve created. $host = ''/cloudsql/<app server url>:us-central1:<database name>-app-php''; $type = ''socket''; /* * First server */ $i++; /* Authentication type */ $cfg[''Servers''][$i][''auth_type''] = ''cookie''; /* Server parameters */ $cfg[''Servers''][$i][''socket''] = $host; $cfg[''Servers''][$i][''connect_type''] = $type; $cfg[''Servers''][$i][''compress''] = false; /* Select mysql if your server does not have mysqli */ $cfg[''Servers''][$i][''extension''] = ''mysqli''; $cfg[''Servers''][$i][''AllowNoPassword''] = true; /* * End of servers configuration */ /* * Directories for saving/loading files from server */ $cfg[''UploadDir''] = ''''; $cfg[''SaveDir''] = ''''; $cfg[''PmaNoRelation_DisableWarning''] = true; $cfg[''ExecTimeLimit''] = 60; $cfg[''CheckConfigurationPermissions''] = false; // [END all]

php.ini:

google_app_engine.enable_functions = "php_uname, getmypid"

EDITAR: Texto cuando esté en el navegador, yendo a .appspot.com / fcm / register.php

array (11) {["pmaCookieVer"] => string (1) "5" ["pma_lang"] => string (2) "en" ["pma_collation_connection"] => string (15) "utf8_unicode_ci" ["pma_console_height "] => string (2) "92"[" SACSID "] => string (355) "~ AJKiYcFgym76QZfbMX35ddCTdKKf-O7q5koLvNZ0coWTMvw9aNlR5fusNyLRzFyw5DB_t2ygVuTEjHwgrgBco4-wr_V3Eer_Mf0CDuGX2e4IpirCNeiGxkRvaLgRPPyZNZWKUx1mF_DChjsksTirkY5WCzlA3G3MO9bBScrLw8kNOFGnvzkev3-B2x31s_TmnDN5aJ0G3-nPueI4FPpKaaMlPsITziccvXMpiehglQOKoo1Bol3EZSF1tjI9QoJuc-6X_sHgJ0IEppg7K-cBapaEx5CmDD2kWOggnVPWnGj1SiKFUnE3DZD46bjovf5me7IdwfVX22bv5D2PJDPQEN4m3D7yP3-WDG"[" pma_console_config "] => string (103 ) "{" alwaysExpand ": false," startHistory ": false," currentQuery ": true," enterExecutes ": false," darkTheme ": false}" ["pma_console_mode"] => string (4) "show" [" phpMyAdmin "] => string (40)" cfd814e10982d138c7ed4a3ef510c454c0e5f9b9 "[" pma_iv-1 "] => pmaPass-1 "] => string (24)" dwKZ9gQPCoe / Uk4sWS4s2g == "}

nuevo register.php:

<?php if (isset($_REQUEST["Token"])) { $_uv_Token=$_REQUEST["Token"]; $conn = mysqli_connect("/cloudsql/<Database ServerURL>","root","","FCM") or die("Error connecting"); $q="INSERT INTO users (Token) VALUES ( ''$_uv_Token'') " ." ON DUPLICATE KEY UPDATE Token = ''$_uv_Token'';"; var_dump(mysqli_query($conn,$q)); mysqli_query($conn,$q) or die(mysqli_error($conn)); mysqli_close($conn); } else { var_dump($_REQUEST); } ?>

NotificationInstanceService.java

Nueva solicitud POST:

Request request = new Request.Builder().url("<Application Server>/fcm/register.php?Token=123") .post(body) .build();