Heroku Shield: нет ps: exec?

#php #heroku #chroot #fpm #nextcloud

#php #heroku #chroot #fpm #nextcloud

Вопрос:

Я успешно установил nextcloud на heroku, а затем на 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 . Я знал, что они меняются, но a 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:

Не намеренно пытаюсь ответить на свой собственный вопрос здесь, но я получил ответ на свой билет heroku: https://help.heroku.com/706339 . Вот ответ heroku:

Вы правы, что пространства экрана не поддерживаются ps:exec из-за требований соответствия. Это означает, что нет способа обойти работающий динамический процессор, чтобы увидеть изменения файлов в пространстве экрана, не внося вручную сведения в журналы вашего приложения.

Когда вы запускаете новый dyno с heroku run bash помощью команды, он не запускает Apache, поэтому изменения в fpm_custom.conf нем не будут инициализированы. Вы можете попробовать вручную запустить vendor/bin/heroku-php-apache2 -F fpm_custom.conf server/ изнутри этого dyno, чтобы лучше понять, как эти конфигурации работают вместе.