Php 未知解析器类“;PropelArrayParser";
我是Propel的新手,我需要与一个已经使用Propel(1.6.9)设置的网站合作。 我在我的笔记本电脑上得到了这个,生成时没有任何错误。(耶!) 在生成类之后(在与前面相同的schema.xml和其他相关文件上),似乎存在一些差异。(在文件大小上显示)当我将这些文件上载到旧文件运行良好的web主机时,我遇到了一个错误:Php 未知解析器类“;PropelArrayParser";,php,propel,Php,Propel,我是Propel的新手,我需要与一个已经使用Propel(1.6.9)设置的网站合作。 我在我的笔记本电脑上得到了这个,生成时没有任何错误。(耶!) 在生成类之后(在与前面相同的schema.xml和其他相关文件上),似乎存在一些差异。(在文件大小上显示)当我将这些文件上载到旧文件运行良好的web主机时,我遇到了一个错误: Fatal error: Uncaught exception 'PropelException' with message 'Unknown parser class &q
Fatal error: Uncaught exception 'PropelException' with message 'Unknown parser class "PropelArrayParser"' in /var/www/vhosts/10/154462/webspace/httpdocs/DOMAIN/vendor/propel/propel1/runtime/lib/parser/PropelParser.php:101
Stack trace:
#0 /var/www/vhosts/10/154462/webspace/httpdocs/DOMAIN/vendor/propel/propel1/runtime/lib/om/BaseObject.php(375): PropelParser::getParser('Array')
#1 /var/www/vhosts/10/154462/webspace/httpdocs/DOMAIN/vendor/propel/propel1/runtime/lib/om/BaseObject.php(424): BaseObject->exportTo('Array', 'fieldName')
#2 /var/www/vhosts/10/154462/webspace/httpdocs/DOMAIN/src/controllers/UsersController.php(26): BaseObject->__call('toArray', Array)
#3 /var/www/vhosts/10/154462/webspace/httpdocs/DOMAIN/src/controllers/UsersController.php(26): User->toArray('fieldName')
#4 /var/www/vhosts/10/154462/webspace/httpdocs/DOMAIN/framework/framework.php(196): require('/var/www/vhosts...')
#5 /var/www/vhosts/10/154462/web in /var/www/vhosts/10/154462/webspace/httpdocs/DOMAIN/vendor/propel/propel1/runtime/lib/parser/PropelParser.php on line 101
错误是指:
$case = new AgencyCosts();
$case->fromArray($_POST, BasePeer::TYPE_FIELDNAME);
$case->save();
所以我觉得这里面有问题。这就是我在init.php中添加以下内容的原因:
设置包含路径(dirname(DIR)。/vendor/propel/propel1/runtime/lib/parser.path分隔符。获取包含路径()
需要目录名(DIR)。'/vendor/prople/propel1/runtime/lib/parser/PropelJSONParser.php'
没有任何成功
可以使用init.php(其中完成了包含)。
如果您有任何帮助,我们将不胜感激。当您无法找到类定义时,将出现此异常。从公司代码:
// PropelParse::getParser
if (!class_exists($class)) {
throw new PropelException(sprintf('Unknown parser class "%s"', $class));
}
spreep生成一个类映射文件,其中写入所有spreep类的路径。看起来您只是得到了错误的文件或错误的路径。查看配置文件中的classmap
键:
$conf['classmap'] = include(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'classmap-<you-project-name>-conf.php');
$conf['classmap']=include(dirname(_文件__).DIRECTORY_分隔符。'classmap--conf.php');
然后检查该文件的内容。这可能是因为您盲目地将文件从计算机移动到服务器