1

我遇到了一个奇怪的情况,我不太确定从哪里开始寻找。我在前端有一个 knockout.js 表单,在后端有一个 CakePHP。

截至目前,我将一些 JSON 数据从一个 knockout.js 表单发送到 CakePHP。这个 PHP 进行了一些处理,然后将结果以 JSON 格式回显到剔除的 javascript 文件中。

好吧,问题是当我通过 CakePHP 设置这个 PHP 时,它似乎只工作了 1/4 的时间。当我在我的 webroot 中有这个 PHP 文件(只是一个标准文件,与 Cake 无关,因为敲除毕竟与后端无关)时,它 100% 的时间都可以工作。

所以这是两个数据流

Fails frequently: knockout.html -> knockout.js -> CakePHP Controller -> echo in CakePHP view-> knockout.js -> knockout.html

Works 100%: knockout.html -> knockout.js -> PHP in webroot, echo from the same page -> knockout.js -> knockout.html

我只会在我的 webroot 中使用 PHP 文件,但我必须查询数据库以获取一些信息,并且我希望将所有查询保留给 Cake 而不是外部资源。

CakePHP 方法是否可能花费太长时间而失败,因为它没有足够快地返回结果?

编辑-我改变了我的控制器,所以没有计算,它只是将一些 JSON 编码的文本传递给视图。这不会产生任何错误,并且 100% 的时间都有效。那么,是否可以肯定地说 CakePHP 花费了太长时间导致错误?我知道一个框架比普通的 PHP 需要更长的时间,但是为什么这会导致它失败呢?我没有做任何激烈的计算。

4

1 回答 1

0

我让它以一种非常迂回的方式工作。它现在 100% 的时间都在工作,但我对我必须如何做到这一点并不满意。

正如我所解释的,我在我的 ItemsController 中使用 PHPQuery。我采用了所有这些逻辑,并在蛋糕结构之外创建了一个单独的 PHP 文件,并且就在我的 webroot 中。因此,它不会为相应的操作调用我的 ItemsController 函数,而是调用 webroot 中的文件。我从这个文件访问数据库,查找我需要的内容,然后执行 PHPQuery 任务。

很奇怪。在 CakePHP 之外 100% 工作。在 CakePHP 函数中使用时失败超过 50% 的时间。我不明白,但至少它正在工作。

于 2013-04-23T21:44:45.357 回答