thrift的php-v0.12版本类自动加载失败
Posted tc_goshawk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thrift的php-v0.12版本类自动加载失败相关的知识,希望对你有一定的参考价值。
参考网上教程,使用$loader->registerDefinition(\'Sample\', $GEN_DIR); 但是会报php Fatal error: Uncaught Error: Class \'Sample\\formatDataClient\' not found in /Users/work/local/gopath/src/rpc/phprpc-client.php:32。也就是类加载失败啦。原因应该是因为php-v0.12版本使用的PSR-4 记载规范。并且提示使用$thriftClassLoader->registerNamespace(\'namespace\', \'<path>\')
而不是 u$thriftClassLoader->registerDefinition(\'namespace\', \'<path>\')
.
使用php的thrift,有两点需要注意:
1.需要将thrift/lib/php/*中的内容复制到自己定义的thrift的库目录,如phplib中,然后将子目录lib改成Thrift,否则会报错。因为是ClassLoader/ThriftClassLoader.php的152行地方的namespace是以Thrift\\开头的。
2.上面提到的服务也要用$loader->registerNamespace(\'Sample\', $dir)
以上是关于thrift的php-v0.12版本类自动加载失败的主要内容,如果未能解决你的问题,请参考以下文章
使用navicat连接mysql8.0.12版本 出现client does not support。。。解决办法
Thrift RPC 从 c# 中的 thrift 客户端失败到在 HBase 服务器上旋转的 thrift 服务器