#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, чтобы лучше понять, как эти конфигурации работают вместе.