【问题标题】:CakePHP 3 shell script increase execution timeout limitCakePHP 3 shell脚本增加执行超时限制
【发布时间】:2018-11-13 12:48:53
【问题描述】:

我是 cakephp 3 的新手,我正在使用它和 php 7.0 开发一个应用程序。

我在 /app/src/Shell 有一个 shell 脚本,它连接到 Web 服务并使用 JSON 数据。

问题是,检索数据需要 30 多秒。

我已经尝试在 /etc/php/7.0/cli/php.ini/etc/php/7.0/apache2/php.ini 中更改 max_execution_time强>,但没有成功。

我错过了什么吗? cakephp 中是否有需要更改的配置?

谢谢。

【问题讨论】:

  • 您将 PHP 超时与对象和 Web 服务超时混淆了。在 CLI 中 PHP 超时默认为 0。问题是 Web 服务的超时以及与该服务的连接(客户端对象等)。这些超时很难改变(可以提高一点,但会导致不稳定的行为)。你应该确保你对网络服务的请求永远不会超过几秒钟!
  • 感谢@mark 的澄清。我正在与 web 服务开发人员联系以提高 API 性能。使用 Postman 进行测试,响应检索数据平均需要 46 到 50 秒。
  • 您究竟是如何调用网络服务的?请提供更多详细信息

标签: php shell cakephp cakephp-3.0 php-7.0


【解决方案1】:

确保您正在寻找您正在使用的 PHP 的良好配置文件,这要归功于此命令:

php -ini |grep "php.ini"

【讨论】:

  • 感谢@Bsquare 的回复。我的本地主机正在使用 /cli php.ini。但是我已经尝试更改/cli/php.ini中的'max_execution_time',重新启动服务,但没有成功。
  • 这很奇怪,请尝试将this instruction 放在脚本开头,以 100% 确保您的配置得到妥善处理。
  • 不是有效答案,请参阅我的评论。
【解决方案2】:

编辑: 在@mark 在他的评论中说了什么之后,我做了一些研究并找到了解决方案。问题是,我正在使用 cakephp 3 的 Http 客户端类。阅读文档后,我意识到您可以在创建对象的那一刻传递 'timeout' 参数。

但是,也按照@mark 的评论,更改超时值,这不是一个好习惯。

谢谢大家的帮助!

【讨论】:

猜你喜欢
  • 2012-08-25
  • 1970-01-01
  • 1970-01-01
  • 2018-06-05
  • 1970-01-01
  • 2020-10-24
  • 1970-01-01
  • 2017-06-17
  • 1970-01-01
相关资源
最近更新 更多