Search code examples
phpfsockopen

Passing resource through fsockopen() in PHP


I have two servers. Server A has all the databases. How can server B query server A's database and receive the results with fsockopen()? currently, I can only pass actual text through the socket (i.e. if server A's php code prints out something as in echo). How can I pass through the query results (the resource) in this open socket?


Solution

  • If using fsockopen is the only way you are able to communicate with Server B's database, serializing the results of the query or encoding them in JSON format and writing them to the socket are possibilities.

    Is it not possible to grant read-only access to the mysql server from server A only so you can query directly? Otherwise a REST service would be a good alternative to fsockopen.

    As stated, you cannot pass the resource over the socket as it wouldn't have any meaning on server A anyway. If you tried to pass it over the socket it would probably return a string (i.e. Resource #1)