Search code examples
phpandroidmysqlapache-flexflex4.5

Flex 4.5 mobile deploy php/sql


So im building an application for android and iphone and im almost done so i decided to start testing on a remote server. However when i change the parameters for the remote server I get a 404 error for the gateway.php file. The path is correct and the file present in the server. I followed this method:

  1. Changed the parameters on the service files to match the server
  2. Changed the webroot on the amf_config.ini file to /home/myuser/public_html/
  3. Edited tha MarkersService.as (the file that extends the super class of the services) and added this _serviceControl.endpoint = "http://www.chania***.com/Chania/gateway.php";
  4. Uploaded the .swf file

When testing i get the error. If i change the endpoint to my localhost everything works fine. Any help?


Solution

  • So after a lot of researching and testing i found what you have to do to deploy a mobile app which uses php services on a server. As there is no guide on the internet on how exactly to do this im presenting the steps bellow.

    1. Upload ZendFramework folder from your local server to the root of your server (mine was public_html)
    2. Upload your project folder (most likely the debug folder) on root (ex. /myproject). On this folder you need to have your services folder (/myproject/services) , the amf_config.ini file and the gateway.php file.
    3. Here is the most likely to cause problem part. You will have to edit amf_config.ini and add the webroot=absolute path and the zend_path=absolute path of zend library on my project these were "webroot=/home/username/public_html/ and zend_path=/home/username/public_html/ZendFramework/library/". you should also make sure that at the end of the file the following exists

      [zendamf] amf.production=true amf.directories[] myproject/services

    4. Finaly you will have to find the myservice.as file in your project and after the initialization add the following line and compile

      super._serviceControl.endpoint="http://www.mydomain.com/myproject/gateway.php"

    If you follow the above steps your mobile app should be able to get it's data from a remote server on both testing and deployment.

    I hope that i helped some people out especially new developers on flex mobile