2010-01-05 71 views
5

已经有一些应用程序可以“理解”mysql协议,并可以使用mysql客户端连接 - 例如:您可以使用sphinx搜索引擎连接到sphinx搜索引擎(一)mysql客户端,mysql-proxy也理解mysql协议。等等mysql * server *协议实现为PHP

现在我想知道PHP中是否有可用的实现,因此您可以使用mysql客户端连接到一些在PHP中实现的服务器应用程序?我正在寻找一些实现了mysql协议的PHP库(或扩展)。

感谢, 哈拉尔

+0

为了什么目的呢?有许多开放和有据可查的协议可能更合适?为什么你必须使用mysql客户端与服务器通话? C. – symcbean 2010-01-05 14:04:09

+0

我明白这并不能回答你的问题,但我很确定你的问题有不同的解决方案。这听起来像一个坏主意:) – Evert 2010-01-05 14:48:25

+0

我想为PHP中实现的某些服务器应用程序提供一个SQL接口。例如,我喜欢用一个标准的mysql客户端或客户端库如何连接到狮身人面像的搜索引擎。你可以用支持mysql的任何应用程序来查询sphinx作为后端...这很好,我想:) – aurora 2010-01-06 12:45:00

回答

1

我不知道一个MySQL服务器的现有纯php实现。我预计它会比C/C++对手慢。另外,php一直很烦人,作为守护进程运行。

但是,如果你希望实现一个服务器,你可能想看看http://forge.mysql.com/wiki/MySQL_Internals_ClientServer_Protocol。它定义了客户端 - 服务器通信的协议。

+0

是的,你可能是对的 - 一个纯粹的PHP实现会很慢。无论如何,我会看看协议文档,感谢您的链接。 – aurora 2010-01-05 11:46:37

+0

绝对正确!当谈到运行一个监听器/ deamon时,PHP对于高级天堂来说很臭。任何时候你觉得你需要一个脚本来不断运行,你已经超越了PHP应该做的事情,你需要看看其他的选择。 – 2010-01-05 17:35:22

+0

我不认为php的进程控制函数是_that_坏。有限制,虽然... – aurora 2010-01-06 12:46:28

-1

有内置的MySQL客户端函数在PHP: manual

是什么意思?

+0

我想他想实现一个服务器,以便任何mysql客户端可以连接到它 – 2010-01-05 11:29:05

+0

是的,保罗是正确的 - 我期待如何实现服务器 – aurora 2010-01-05 11:42:05

+0

正确。那么,在PHP中实现mySQL协议会非常慢,我不认为有一个工作产品在那里。 FlorianH的代理理念可能是最接近你可以得到,而不需要实际重写整个事情。我可以问你想用这个吗? – 2010-01-05 11:59:21

0

你的意思是这样一个场景:你有一个系统,没有一个mysql库,但你想能够与mysql服务器交谈。要做到这一点,你想使用PHP作为代理与数据库交谈?

如果您的现有系统可以执行http请求,则可能需要在php中创建一个宁静的服务并访问该restfull服务。 PHPRest可能是你正在寻找的。

请记住,与直接数据库调用相比,这可能很慢。

+0

不,我的问题不够清楚 - 对不起。我想实现一个服务器,该服务器能够使用mysql-server协议。 – aurora 2010-01-05 11:43:12

1

有一些软件似乎可以满足我们的需求。我还没有使用它们,但急于尝试,所以稍后我会回复你。

  1. DBIx:MyServer在Perl
  2. MyProto二郎
  3. MySQL Proxy在C/LUA
+0

感谢分享!非常有趣,特别是Erlang的MyProto! – aurora 2013-07-30 12:40:38