diff options
| author | 2019-08-22 20:04:26 +0200 | |
|---|---|---|
| committer | 2019-08-22 20:04:26 +0200 | |
| commit | 6cedeeeae51f5e5220d7f786fb801951811bb743 (patch) | |
| tree | e9315d2b0c6df48d2a26d6eeeec49dcf94f6929f | |
| parent | 48dda9a803d4c461b6e8b1d2484aaa803ee25462 (diff) | |
Minz: New environment variable to control development mode (#2508)
* New environment variable to control development mode
Suggestion of new enviromnent variable, as discussed
https://github.com/FreshRSS/FreshRSS/pull/2492#issuecomment-523613920
* Update Docker/README.md
Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>
* Update Docker/README.md
Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>
* Update Docker/README.md
Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>
* Declare ENV in Dockerfile
Tested
| -rw-r--r-- | Docker/Dockerfile | 2 | ||||
| -rw-r--r-- | Docker/Dockerfile-Alpine | 2 | ||||
| -rw-r--r-- | Docker/Dockerfile-QEMU-ARM | 2 | ||||
| -rw-r--r-- | Docker/README.md | 16 | ||||
| -rw-r--r-- | app/install.php | 2 | ||||
| -rw-r--r-- | lib/Minz/FrontController.php | 35 |
6 files changed, 43 insertions, 16 deletions
diff --git a/Docker/Dockerfile b/Docker/Dockerfile index 8693bb0f7..1d2ead96e 100644 --- a/Docker/Dockerfile +++ b/Docker/Dockerfile @@ -49,6 +49,8 @@ RUN sed -r -i "/^\s*(CustomLog|ErrorLog|Listen) /s/^/#/" /etc/apache2/apache2.co ENV COPY_SYSLOG_TO_STDERR On ENV CRON_MIN '' +ENV FRESHRSS_ENV '' + ENTRYPOINT ["./Docker/entrypoint.sh"] EXPOSE 80 diff --git a/Docker/Dockerfile-Alpine b/Docker/Dockerfile-Alpine index b8ef72988..3b1f1a394 100644 --- a/Docker/Dockerfile-Alpine +++ b/Docker/Dockerfile-Alpine @@ -45,6 +45,8 @@ RUN rm -f /etc/apache2/conf.d/languages.conf /etc/apache2/conf.d/info.conf \ ENV COPY_SYSLOG_TO_STDERR On ENV CRON_MIN '' +ENV FRESHRSS_ENV '' + ENTRYPOINT ["./Docker/entrypoint.sh"] EXPOSE 80 diff --git a/Docker/Dockerfile-QEMU-ARM b/Docker/Dockerfile-QEMU-ARM index 4d81a23f0..ea1f98798 100644 --- a/Docker/Dockerfile-QEMU-ARM +++ b/Docker/Dockerfile-QEMU-ARM @@ -61,6 +61,8 @@ RUN rm /usr/bin/qemu-* /var/www/FreshRSS/Docker/qemu-* ENV COPY_SYSLOG_TO_STDERR On ENV CRON_MIN '' +ENV FRESHRSS_ENV '' + ENTRYPOINT ["./Docker/entrypoint.sh"] EXPOSE 80 diff --git a/Docker/README.md b/Docker/README.md index 32024c829..9de1d5033 100644 --- a/Docker/README.md +++ b/Docker/README.md @@ -238,6 +238,22 @@ docker run -d --restart unless-stopped --log-opt max-size=10m \ crond -f -d 6 ``` +## Development mode + +To contribute to FreshRSS development, you can use one of the Docker images to run and serve the PHP code, +while reading the source code from your local (git) directory, like the following example: + +```sh +cd /path-to-local/FreshRSS/ +docker run --rm -p 8080:80 -e TZ=Europe/Paris -e FRESHRSS_ENV=development \ + -v $(pwd):/var/www/FreshRSS \ + freshrss/freshrss:dev +``` + +This will start a server on port 8080, based on your local PHP code, which will show the logs directly in your terminal. +Press <kbd>Control</kbd>+<kbd>c</kbd> to exit. + +The `FRESHRSS_ENV=development` environment variable increases the level of logging and ensures that errors are displayed. ## More deployment options diff --git a/app/install.php b/app/install.php index 8e14d14c0..a4d1d0af9 100644 --- a/app/install.php +++ b/app/install.php @@ -61,7 +61,7 @@ function initTranslate() { } function get_best_language() { - $accept = $_SERVER['HTTP_ACCEPT_LANGUAGE']; + $accept = empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? '' : $_SERVER['HTTP_ACCEPT_LANGUAGE']; return strtolower(substr($accept, 0, 2)); } diff --git a/lib/Minz/FrontController.php b/lib/Minz/FrontController.php index 066278b7c..e09b022fc 100644 --- a/lib/Minz/FrontController.php +++ b/lib/Minz/FrontController.php @@ -115,21 +115,26 @@ class Minz_FrontController { } private function setReporting() { - $conf = Minz_Configuration::get('system'); - switch($conf->environment) { - case 'production': - error_reporting(E_ALL); - ini_set('display_errors', 'Off'); - ini_set('log_errors', 'On'); - break; - case 'development': - error_reporting(E_ALL); - ini_set('display_errors', 'On'); - ini_set('log_errors', 'On'); - break; - case 'silent': - error_reporting(0); - break; + $envType = getenv('FRESHRSS_ENV'); + if ($envType == '') { + $conf = Minz_Configuration::get('system'); + $envType = $conf->environment; + } + switch ($envType) { + case 'development': + error_reporting(E_ALL); + ini_set('display_errors', 'On'); + ini_set('log_errors', 'On'); + break; + case 'silent': + error_reporting(0); + break; + case 'production': + default: + error_reporting(E_ALL); + ini_set('display_errors', 'Off'); + ini_set('log_errors', 'On'); + break; } } } |
