gpt4 book ai didi

php - Cron 作业在 Google Appengine 中使用 CodeIgniter 失败

转载 作者:搜寻专家 更新时间:2023-10-31 21:05:58 24 4
gpt4 key购买 nike

在 Google App Engine 中使用 PHP 框架,当我将 index.php url 与 login:required 一起使用时,Cron 作业失败。我使用 login:admin 作为 cron。

引用我的app.yaml文件

app.yaml

application: my-app
version: 1
runtime: php55
api_version: 1


- url: /.*
script: index.php
login: required

- url: /backup_cron/remindermail
static_dir: backup_cron/remindermail
login: admin

我不想使用 no loginlogin: admin 来加载我的 index.php。

我的应用程序只能看到所有拥有 Gmail 登录名的人。没有登录 cron 作业工作正常。

是否可以在首次加载页面中使用 login:required?

使用 login:required

日志详细信息:

HTTP/1.1" 302

Request failed because URL requires user login. For requests invoked within App Engine (offline requests like Task Queue, or webhooks like XMPP and Incoming Mail), the URL must require admin login (or no login).

使用无登录login:admin

日志详细信息:

HTTP/1.1" 200

Success

最佳答案

Crons 无法访问受 login: required 保护的 url,因为它们不是以用户身份运行的。来自文档:

Note: While cron jobs can use URL paths restricted with login: admin, they cannot use URL paths restricted with login: required because cron scheduled tasks are not run as any user. The admin restriction is satisfied by the inclusion of the X-Appengine-Cron header described below.

此处链接:https://cloud.google.com/appengine/docs/python/config/cron?hl=en#Python_app_yaml_Securing_URLs_for_cron

话虽如此,我建议您为所有 protected 作业使用特定的处理程序。或者您可以重定向未登录的用户。

关于php - Cron 作业在 Google Appengine 中使用 CodeIgniter 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32351504/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com