【发布时间】:2013-10-15 17:50:44
【问题描述】:
我正在尝试将 MarketBot 与 symfony 一起使用,但出现以下错误:
- 我的网络服务器上安装了 phpQuery
这是我的代码:
$market = new \MarketBot\Android\GooglePlay;
$response = $market->get('PACKAGE_NAME', 'apps');
var_dump($response);
这是错误:
FatalErrorException: Error: Class 'phpQuery' not found in /var/www/sf/src/MarketBot/MarketBot.php line 83
这是导致错误的行:
\phpQuery::newDocument($response);
如果我将上一行更改为:
phpQuery::newDocument($response);
错误是:
FatalErrorException: Error: Class 'MarketBot\phpQuery' not found in /var/www/sf/src/MarketBot/MarketBot.php line 83
我已经尝试了很多选项,但总是遇到不同的错误。
¿我怎么能说 Symfony 从服务器而不是本地存档执行 phpQuery?
谢谢!
【问题讨论】:
-
您是否在 MarketBot.php 中包含了 phpQuery.php 库文件? phpQuery 不使用命名空间,也没有自动加载器,所以你只想 require_once /path/to/phpQuery.php
-
@evgeny.chernyavskiy 该库已安装在网络服务器上,我想在不包含 php 存档的情况下使用它。 (如果我尝试按照你说的方式包含 phpQuery.php,问题出在其他人身上……,问题无处不在……)我的网络服务器安装了 code.google.com/p/phpquery/downloads/…
-
嗯,您指的是哪个 PHP 存档?我建议通过 require_once/include_once 在 MarketBot.php 中包含 phpQuery.php。快速查看 .deb 文件告诉我 phpQuery 已安装在 usr/lib/phpquery 中,因此像 require_once('/usr/lib/phpquery/phpQuery.php'); 这样的东西应该可以正常工作。或者将 usr/lib/phpquery 添加到 include_path,然后只需要 require_once('phpQuery.php');
-
@evgeny.chernyavskiy 最后我成功地在 MarketBot.php 旁边添加了 phpQuery.php 并修改了 Market Bot 的某些部分以正常工作,但现在问题在于解析文档时的 phpQuery,现在错误是:注意:未定义属性:/var/www/sf/src/MarketBot/phpQuery.php 中的 DOMDocument::$tagName 第 4186 行,以及它发生的行:$xpath[] = $this->isXML() ? "*[local-name()='{$node->tagName}'][{$i}]" : "{$node->tagName}[{$i}]"; //这里是错误 $node = $node->parentNode;
-
没错,phpQuery 通过它的 DOMDocumentWrapper 类抽象了DOMDocument 交互。它确实没有 tagName 属性。
标签: php symfony web apache2 phpquery