.deploy 文件 php,关于php:Heroku deploy自动删除服务器文件?

我是HEROKU APPS的新手。

在我的heroku应用程序中,我遇到了问题。 那就是我正在使用php脚本将数据保存在服务器上。

范例:

$file ="example.txt";

$data ="Something...";

file_put_contents($file,$data);

?>

此PHP脚本成功运行并完美保存了数据。

但是,当我将我的APP部署到HEROKU进行更新->时,该example.txt文件会自动删除。

您没有提出问题,但发表了声明。 接受您的经验,因为没有什么可以解决的。 这是预期的行为,Heroku文档对此很清楚。

嗨,哈克! 感谢您编辑我的问题。

Heroku文件系统

Heroku的行为因您使用的堆栈而略有不同。使用Bamboo,大多数文件系统是只读的。对于Cedar,它是短暂的。

在这两种情况下,都不会在dyno之间共享文件系统,并且不应将其用于存储。为了可靠地在服务器端存储数据,您将需要使用数据库(也许将上传内容存储为blob),或用作另一台主机或服务上的外部资产。

Heroku在git push之间不为持久性文件提供硬盘空间,您必须使用Amazon S3之类的文件存储。这就是为什么Heroku称其文件系统为临时文件系统。在堆栈的早期版本中,它甚至是只读的。

Heroku上有一个教程:使用AWS S3存储静态资产和文件上传

Femaref HEROKU免费提供200MB空间。

@ user1882503:是的,用于您的代码。 这就是git repro中的内容。如果将新文件提交到树中,那就太好了。 如果没有,他们就会迷路。 简单。

请参阅文档:

Ephemeral filesystem

Each dyno gets its own ephemeral filesystem, with a fresh copy of the most recently deployed code. During the dyno’s lifetime its running processes can use the filesystem as a temporary scratchpad, but no files that are written are visible to processes in any other dyno and any files written will be discarded the moment the dyno is stopped or restarted.

因此,使用Heroku测功机无法节省太多。特别是在推送新版本之后,将重新启动dyno,然后重置文件系统。

您需要将文件存储到远程位置,然后才能在dyno重置后保留它们。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值