Heroku无法打开工作人员创建的文件

Heroku无法打开工作人员创建的文件

问题描述:

所以我的项目在PHP中都有2个dynos [web,worker]。Heroku无法打开工作人员创建的文件

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函数返回TRUE确认该文件存在。 (我甚至尝试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中的文件,因为它们是不同的虚拟机实例。你可以做的是使用S3等外部存储器。

+0

确认。我必须将文件从工人dyno传输到W​​eb dyno才能访问它们。谢谢。 – Ngoc