{"action":"created","issue":{"url":"https://api.github.com/repos/youtube/vitess/issues/324","labels_url":"https://api.github.com/repos/youtube/vitess/issues/324/labels{/name}","comments_url":"https://api.github.com/repos/youtube/vitess/issues/324/comments","events_url":"https://api.github.com/repos/youtube/vitess/issues/324/events","html_url":"https://github.com/youtube/vitess/pull/324","id":54859704,"number":324,"title":"Add attempted proof-of-concept PHP client.","user":{"login":"enisoc","id":6733629,"avatar_url":"https://avatars.githubusercontent.com/u/6733629?v=3","gravatar_id":"","url":"https://api.github.com/users/enisoc","html_url":"https://github.com/enisoc","followers_url":"https://api.github.com/users/enisoc/followers","following_url":"https://api.github.com/users/enisoc/following{/other_user}","gists_url":"https://api.github.com/users/enisoc/gists{/gist_id}","starred_url":"https://api.github.com/users/enisoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/enisoc/subscriptions","organizations_url":"https://api.github.com/users/enisoc/orgs","repos_url":"https://api.github.com/users/enisoc/repos","events_url":"https://api.github.com/users/enisoc/events{/privacy}","received_events_url":"https://api.github.com/users/enisoc/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":15,"created_at":"2015-01-20T09:18:21Z","updated_at":"2015-05-17T08:31:07Z","closed_at":"2015-01-20T18:46:17Z","pull_request":{"url":"https://api.github.com/repos/youtube/vitess/pulls/324","html_url":"https://github.com/youtube/vitess/pull/324","diff_url":"https://github.com/youtube/vitess/pull/324.diff","patch_url":"https://github.com/youtube/vitess/pull/324.patch"},"body":"@sougou \r\n\r\nIt was a slow oncall day, so I decided to try writing a PHP client for Vitess. I don't imagine that we'll put much effort into maintaining it, but it would be nice to have as a starting point for anyone who's interested in PHP. It's not working yet, but I thought I should share it to avoid potential duplication of effort.\r\n\r\nThe BSON implementation for PHP, as recommended by bsonspec.org, is the MongoDB driver for PHP. The nice thing is that it's available for easy installation on Ubuntu (apt-get install php5-mongo). Unfortunately, it doesn't support the nonstandard extension we use for uint64. Specifically, I get this error while decoding the response from VTGate.Begin:\r\n\r\nvitess/php$ php test.php\r\nPHP Fatal error:  Uncaught exception 'MongoException' with message 'type 0x3f not supported: 3e 00 00 00 05 53 65 72 76 69 63 65 4d 65 74 68 6f 64 00 0c 00 00 00 00 56 54 47 61 74 65 2e 42 65 67 69 6e 3f 53 65 71 00'\r\n\r\nIs there any way to change some of these uint64s into int64s in a backward-compatible way?"},"comment":{"url":"https://api.github.com/repos/youtube/vitess/issues/comments/102767979","html_url":"https://github.com/youtube/vitess/pull/324#issuecomment-102767979","issue_url":"https://api.github.com/repos/youtube/vitess/issues/324","id":102767979,"user":{"login":"stephenwithav","id":54563,"avatar_url":"https://avatars.githubusercontent.com/u/54563?v=3","gravatar_id":"","url":"https://api.github.com/users/stephenwithav","html_url":"https://github.com/stephenwithav","followers_url":"https://api.github.com/users/stephenwithav/followers","following_url":"https://api.github.com/users/stephenwithav/following{/other_user}","gists_url":"https://api.github.com/users/stephenwithav/gists{/gist_id}","starred_url":"https://api.github.com/users/stephenwithav/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stephenwithav/subscriptions","organizations_url":"https://api.github.com/users/stephenwithav/orgs","repos_url":"https://api.github.com/users/stephenwithav/repos","events_url":"https://api.github.com/users/stephenwithav/events{/privacy}","received_events_url":"https://api.github.com/users/stephenwithav/received_events","type":"User","site_admin":false},"created_at":"2015-05-17T08:31:07Z","updated_at":"2015-05-17T08:31:07Z","body":"I'll work on that today, starting now."}}