File 但是为什么不';我通过“heroku ps:exec”所做的更改是否生效?
我知道Heroku有一个短暂的文件系统: 每个dyno都有自己的临时文件系统,其中包含 最近部署的代码。在dyno的生命周期中,它在运行 进程可以将文件系统用作临时草稿行,但不能 写入的文件对任何其他dyno和 在dyno停止或停止时,写入的任何文件都将被丢弃 重新启动。例如,在任何时候更换dyno时都会发生这种情况 到应用程序部署,大约每天一次,作为 正常的dyno管理 但是当我需要在dyno中调试时,这些更改根本没有反映出来 复制步骤: 创建一些随机dyno,然后对这些dyno执行ssh/exec:File 但是为什么不';我通过“heroku ps:exec”所做的更改是否生效?,file,heroku,File,Heroku,我知道Heroku有一个短暂的文件系统: 每个dyno都有自己的临时文件系统,其中包含 最近部署的代码。在dyno的生命周期中,它在运行 进程可以将文件系统用作临时草稿行,但不能 写入的文件对任何其他dyno和 在dyno停止或停止时,写入的任何文件都将被丢弃 重新启动。例如,在任何时候更换dyno时都会发生这种情况 到应用程序部署,大约每天一次,作为 正常的dyno管理 但是当我需要在dyno中调试时,这些更改根本没有反映出来 复制步骤: 创建一些随机dyno,然后对这些dyno执行ssh/e
$ heroku ps:exec
Running this command for the first time requires a dyno restart.
Do you want to continue? [y/n]: y
Initializing feature... done
Restarting dynos... done
Waiting for web.1 to start... done
Establishing credentials... done
Connecting to web.1 on ⬢ wiwi123...
这是当前文件内容。我们可以简单地curl
~ $ curl wiwi123.herokuapp.com
hello world
但是当我试图改变它的时候
~ $ echo 'another' >> index.php
当前内容变为
~ $ cat index.php
hello world
another
不知何故,请求没有得到反映:
~ $ curl wiwi123.herokuapp.com
hello world
我知道Heroku仍然引用这个文件,因为如果我们删除/重命名它。这将得到反映
~ $ mv index.php old.php
~ $ curl wiwi123.herokuapp.com
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /
on this server.<br />
</p>
</body></html>
~$mv index.php old.php
~$curl wiwiwi123.herokuapp.com
403禁止
被禁止的
您没有访问的权限/
在此服务器上。
未来读者注意:与创建一次性dyno的heroku run不同,heroku Exec默认连接到您的web.1
dyno`。未来读者注意:与创建一次性dyno的heroku run不同,heroku Exec默认连接到您的web.1
dyno`。