Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 但是为什么不';我通过“heroku ps:exec”所做的更改是否生效?_File_Heroku - Fatal编程技术网

File 但是为什么不';我通过“heroku ps:exec”所做的更改是否生效?

File 但是为什么不';我通过“heroku ps:exec”所做的更改是否生效?,file,heroku,File,Heroku,我知道Heroku有一个短暂的文件系统: 每个dyno都有自己的临时文件系统,其中包含 最近部署的代码。在dyno的生命周期中,它在运行 进程可以将文件系统用作临时草稿行,但不能 写入的文件对任何其他dyno和 在dyno停止或停止时,写入的任何文件都将被丢弃 重新启动。例如,在任何时候更换dyno时都会发生这种情况 到应用程序部署,大约每天一次,作为 正常的dyno管理 但是当我需要在dyno中调试时,这些更改根本没有反映出来 复制步骤: 创建一些随机dyno,然后对这些dyno执行ssh/e

我知道Heroku有一个短暂的文件系统:

每个dyno都有自己的临时文件系统,其中包含 最近部署的代码。在dyno的生命周期中,它在运行 进程可以将文件系统用作临时草稿行,但不能 写入的文件对任何其他dyno和 在dyno停止或停止时,写入的任何文件都将被丢弃 重新启动。例如,在任何时候更换dyno时都会发生这种情况 到应用程序部署,大约每天一次,作为 正常的dyno管理

但是当我需要在dyno中调试时,这些更改根本没有反映出来

复制步骤:

创建一些随机dyno,然后对这些dyno执行ssh/exec:

$ 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`。