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等外部存储器。
确认。我必须将文件从工人dyno传输到Web dyno才能访问它们。谢谢。 – Ngoc