Heroku 无法打开在 worker 中创建的文件

Heroku can't open file created in worker

所以我的项目在 PHP.

中有 2 个 dynos [web, worker]

worker 中,经过漫长的 运行 过程,我创建了一个文件(例如:/app/abc.txt)。

web中我允许用户下载该文件,但即使我提供了确切的文件名,系统也无法打开它(它说找不到文件)。

2017-04-02T03:38:29.606293+00:00 app[worker.1]: [2017-04-02 03:38:29] myapp.INFO: [start] confirmed existence of /app/abc.txt [] []

我使用 file_exists 函数确认了文件的存在,return 为真。 (我什至尝试 file_get_contents 并且能够毫无问题地获取内容)。但是当我尝试从 web.

访问它时

2017-04-02T04:21:13.226793+00:00 app[web.1]: [2017-04-02 04:21:13] myapp.INFO: [api.download] find not found /app/abc.txt [] []

有人知道这是为什么吗?

不幸的是,您不能从一个 dyno 访问另一个 dyno 中的文件,因为它们是 VM 的不同实例。您可以做的是使用外部存储,例如 S3。