Heroku Shield:没有ps:exec?

时间:2019-04-17 22:02:34

标签: php heroku chroot fpm nextcloud

我已经在heroku上成功安装了nextcloud,然后安装到了heroku shield。

我在尝试诊断应用错误时遇到了一些问题?主要是因为我没有

heroku ps:exec

相反,我只有:heroku run bash

我可以看到它们是相同的居住环境。每当我尝试执行occ命令时,都会得到:

The current PHP memory limit is below the recommended value of 512MB.

我知道这不是真的,因为当我旋转驱动器时会收到:

2019-04-17T21:59:11.405086+00:00 app[web.2]: DOCUMENT_ROOT changed to 'server/'
2019-04-17T21:59:11.405100+00:00 app[web.2]: Using PHP-FPM configuration include 'fpm_custom.conf'
2019-04-17T21:59:11.431612+00:00 app[web.2]: Optimizing defaults for IX dyno....
2019-04-17T21:59:11.446380+00:00 app[web.2]: 1 processes at 2GB memory limit.
2019-04-17T21:59:11.449664+00:00 app[web.2]: Starting php-fpm...
2019-04-17T21:59:13.458996+00:00 app[web.2]: Starting httpd...
2019-04-17T21:59:14.408040+00:00 heroku[web.2]: State changed from starting to up

此外,在安装过程中,我尝试监视文件config.php。我知道他们正在改变,但是cat server/config/config.php告诉我什么都没有改变。

所以,我知道这是不同的chroot环境。

我怎样才能真正看到我的实时文件?

感谢您的帮助。

以下是配置片段列表: *添加到.htaccess

<IfModule mod_php7.c>
  php_value upload_max_filesize 768M
  php_value post_max_size 768M
  php_value memory_limit 1024M
  php_value mbstring.func_overload 0
  php_value default_charset 'UTF-8'
  php_value output_buffering 0
  <IfModule mod_env.c>
    SetEnv htaccessWorking true
  </IfModule>
</IfModule>
  • 添加到.user.ini
upload_max_filesize=2G
post_max_size=2G
memory_limit=2G
mbstring.func_overload=0
always_populate_raw_post_data=-1
default_charset='UTF-8'
output_buffering=0
  • 添加到fpm_custom.conf
php_value[upload_max_filesize] = 2G
php_value[post_max_size] = 2G
php_value[memory_limit] = 2G
php_value[mbstring.func_overload] = 0
php_value[default_charset] = 'UTF-8'
php_value[output_buffering] = 0

php_value[apc.enable_cli] = 1
  • 当然还有Procfile读到
web: vendor/bin/heroku-php-apache2 -F fpm_custom.conf server/

感谢您的帮助!

埃里克

1 个答案:

答案 0 :(得分:0)

这里没有故意回答我自己的问题,但是我收到了对我的heroku票证的回复:https://help.heroku.com/706339。这是heroku的回复:

  

您正确的说,由于合规性要求,Shield Spaces不支持ps:exec。这意味着如果不手动将详细信息记录到应用程序日志中,就无法遍历正在运行的dyno来查看Shield Space中的文件更改。

     

当您使用heroku run bash命令启动新的dyno时,它不会启动Apache,因此fpm_custom.conf中的更改将不会初始化。您可以尝试从dyno内部手动运行vendor/bin/heroku-php-apache2 -F fpm_custom.conf server/,以更好地了解这些配置如何协同工作。