2014-09-04 53 views

回答

2

这些信息在互联网上完全没有,所以我正在回答我自己的问题。

  1. 关闭你的本地MySQL服务器实例(如果有的话)。
  2. 打开一个终端,运行以下命令:

    ssh -L 3307:[database hostname]:3306 [SSH username]@[SSH hostname] [-p[SSH port]] 
    

    这也可能与腻子工作,我不知道。

  3. 在你的build.properties,设置如下:

    propel.database.url=mysql:host=0.0.0.0;port=3307;dbname=[database name] 
    

不能是localhost。如果是,您将收到以下错误:

propel > reverse: 

    [echo] +-----------------------------------------------+ 
    [echo] |            | 
    [echo] | Generating XML from PDO connection !   | 
    [echo] |            | 
    [echo] +-----------------------------------------------+ 
[propel-schema-reverse] There was an error building XML from metadata: vendor/propel/propel1/generator/build-propel.xml:296:1: SQLSTATE[HY000] [2002] No such file or directory 

BUILD FINISHED 

Total time: 0.2293 seconds 

这神秘的错误意味着它无法找到您的计算机上的Unix套接字,因为even if you are specifying the host and the port,PDO仍然会寻找一个与localhost。显然,你永远不能为不在你的机器上的服务器打开一个套接字,并且即使你将unix_socket添加到DSN为空,它也会抱怨是不好的文件名。使用0.0.0.0修复此错误。我其实从this question算出来。

你完成了!您现在可以通过SSH隧道进行逆向工程。