1

所以我一直在我的本地环境中使用查询路径开发一些东西,它是基于 MAMP 的 php 5.3.6,但是当我将它移到我的开发服务器时它停止工作。我的开发服务器是基于 php 5.3.2-1ubuntu4.10 的 LAMP。我一生都无法弄清楚为什么它会在我的本地而不是我的测试中起作用。我确实在两个环境中都启用了正确的 php 扩展。

它似乎与包含中的查询路径文件有关。PHP/MySQL 在两种环境中都运行良好。Querypath 需要启用 'libxml' 和 'dom' 扩展,它们在两个环境中都存在。我的 php 错误日志中没有显示任何内容,如果 querypath 有错误日志,那么这是我不知道的。

一个基本示例是这将在我的本地环境中得到响应:

<?php

$url = 'http://www.google.com';

$html = htmlqp($url);
print '<h1>TEST</h1>';

print_r ($html);

?>

在我的开发环境中,不会打印“TEST”,这表明访问查询路径时出现了某种致命错误。而且,是的,我已经严格检查了我的相对路径。

更新:今天假期回来的一位同事,他建议我尝试使用 qp() 函数而不是 htmlqp(),这并没有使任何工作更好,但确实产生了一个错误,这很有帮助:致命错误:类'在第 158 行的 /Library/WebServer/Documents/fGalaxy54/fGalaxy54/include/QueryPath/src/QueryPath.php 中找不到 \QueryPath\DOMQuery'

所以由于某种原因,自动加载器没有加载 DOMQuery 类,我一直在将文件重新复制到服务器以确保事情没有损坏。无论如何,我的同事向我指出了他在服务器上其他地方托管的查询路径的副本,并且由于某种原因该副本工作正常。所以,什么都没有解决,但我在服务器的其他地方有一个工作副本。感谢所有的评论。

再次编辑以进一步澄清:

查询路径自动加载器没有加载 DOMQuery 类,当我使用不同的自动加载器时,在我的开发环境中一切正常。不确定这是否是某种 qp 错误,但这确实是一个奇怪的怪癖。

4

0 回答 0