LORIS is a web-accessible database solution for longitudinal multi-site studies.
PHP JavaScript Smarty CSS SQLPL PLSQL Other
Latest commit 21d2d13 Nov 23, 2017 @ridz1208 ridz1208 committed with driusan [Database] add function to flatten select result when only one column…
… is needed (#3165)

This pull request adds a function to the Database.class that allows to select a column in the database. the usual result of the query would be

using pselect

    [0] => Array
            [full_name] => name 1

    [1] => Array
            [full_name] => name 2

    [2] => Array
            [full_name] => name 3

    [3] => Array
            [full_name] => name 4

    [4] => Array
            [full_name] => name 5

using pselectCol

    [0] => name 1
    [1] => name 2
    [2] => name 3
    [3] => name 4
    [4] => name 5
Failed to load latest commit information.
.phan [Testing] Add the minimal config for phan which LORIS passes (#2803) Jun 2, 2017
SQL [instrument_builder] Modularize instrument builder (#3183) Oct 27, 2017
docs [Core] Fixing Instrument setup function call definitions (#2916) Oct 5, 2017
htdocs Cleanup multiple modules: if user is in one study site and/or in "DCC… Nov 22, 2017
jsx [Dashboard] Convert dashboard into a "real" LORIS module (#3148) Nov 1, 2017
modules [Database] add function to flatten select result when only one column… Nov 23, 2017
php [Database] add function to flatten select result when only one column… Nov 23, 2017
smarty Module user accounts (#3282) Nov 14, 2017
test [Automation Test] test with RaisinBread data (#3139) Oct 25, 2017
tools [tools] fixing PHP concatenation in DB_date_zeros_removal.php script (#… Oct 23, 2017
.babelrc [Core] Update Babel + Grunt (#2273) Oct 12, 2016
.dockerignore Clean up docker image Oct 28, 2015
.editorconfig [Core] Code style file (#2735) May 4, 2017
.eslintignore [Instrument builder] ESLint + fix errors caused by new react (#2486) Jan 20, 2017
.eslintrc.json Add ReactDOM to the list of globals (#2706) Mar 30, 2017
.gitignore [Misc] Updated to ignore npm-debug.log and npm-debug.log.* (#2760) Apr 28, 2017
.mailmap ENH: initiate mailmap for a proper output in e.g. "git shortlog -sn" (#… Jun 23, 2016
.travis.yml [Automation Test] test with RaisinBread data (#3139) Oct 25, 2017
CONTRIBUTING.md Further tweaks to Contributing guidelines for 17 release (#2373) Oct 28, 2016
Dockerfile [CORE] Pear cleanup (Redmine9973) (#2239) Oct 6, 2016
Dockerfile.MySQL [Automation Test] test with RaisinBread data (#3139) Oct 25, 2017
Dockerfile.test.db [Automation Test] test with RaisinBread data (#3139) Oct 25, 2017
Dockerfile.test.php7 [Testing] Dockerized test suite (#2430) Dec 2, 2016
Dockerfile.test.php7.debug [Testing] Dockerized test suite (#2430) Dec 2, 2016
LICENSE This updates the license on all Loris header files Oct 17, 2014
LORIS_react.README.md [Documentation] React readme (#2884) Jun 16, 2017
PULL_REQUEST_TEMPLATE.md Updated pull request template (#2613) Mar 17, 2017
Procfile Adding Procfile for heroku Nov 12, 2015
README.CentOS6.md Update VERSION file to 18.0.0-RC1 (#2936) Sep 7, 2017
README.Mac.md [Installation] Updating Mac README with markdown updates (#3173) Nov 3, 2017
README.md [Core] Show build status of all branches in README Oct 27, 2017
VERSION Update VERSION to 18.0.3 Oct 27, 2017
Vagrantfile Vagrant file rebased and Dashboard test phpcs Feb 27, 2017
app.json Adding app.json for heroku Nov 12, 2015
composer.json [Core] Module-specific API Prototype (#2738) May 26, 2017
composer.lock [Core] Module-specific API Prototype (#2738) May 26, 2017
docker-compose.yml Unbreak Docker tests (#2827) Jun 13, 2017
package.json Webpack integration (#2540) Jan 27, 2017
webpack.config.js [Core] Added module override support to webpack (#3006) Nov 22, 2017


LORIS Neuroimaging Platform

LORIS (Longitudinal Online Research and Imaging System) is a web-based data and project management software for neuroimaging research. LORIS makes it easy to manage large datasets including behavioural, clinical, neuroimaging and genetic data acquired over time or at different sites.

NEW ⇾ Try LORIS on Heroku before installing it on your system
Test out the project management and clinical data management side of LORIS (complete Imaging features not yet available)
Deploy and log in with username admin and the password that's set up during deployment via ClearDB.


Branch Status
master Build Status
major Build Status
minor Build Status
bugfix Build Status

This Readme covers installation of the LORIS v18.0.0 release on Ubuntu. (CentOS Readme also available).

Please consult the LORIS Wiki Setup Guide notes on this Install process for more information not included in this Readme. The LORIS Developers mailing list may also provide installation guidance not covered in the Wiki.

Prerequisites for Installation

  • LINUX (supported on Ubuntu 14+ and CentOS 6.5)
  • Apache2
  • MySQL 5.7
  • PHP 7
  • Package manager (for LINUX distributions)
  • Composer : should be run with --no-dev option


  • If you are upgrading your LORIS, you'll also want to upgrade to both PHP 7 and MySQL 5.7, since these dependency versions were not supported in the last release.
  • Composer should be run with --no-dev option unless you are an active LORIS developer.

Consult the LORIS Wiki page on this Install process for more information.


  1. Set up LINUX user lorisadmin and create LORIS base directory:

    sudo useradd -U -m -G sudo -s /bin/bash lorisadmin
    sudo passwd lorisadmin
    su - lorisadmin

    Important ⇾ All steps from this point forward must be executed by lorisadmin user

    sudo mkdir -m 775 -p /var/www/$projectname
    sudo chown lorisadmin.lorisadmin /var/www/$projectname

    $projectname ⇾ "loris" or one-word project name

  2. Get code: Download the latest release from the releases page and extract it to /var/www/$projectname

  3. Run installer script to install core code, and libraries. The script will prompt for information and so that it can create directories automatically.

    For more information, please read the Installing Loris wiki page.

    cd /var/www/$projectname/tools
  4. Apache configuration and restart LORIS requires Apache's mod_rewrite module to rewrite its URLs. Enable this module, then restart Apache:

    sudo a2enmod rewrite
    sudo service apache2 reload
  5. Go to http://localhost/installdb.php and follow the instructions to finalize LORIS installation.

    Note: Apache config files will be installed as *.conf, per Ubuntu 14.04. If running an earlier version of Ubuntu, rename these files, then run the following commands. After, restart Apache.

    sudo a2dissite default
    sudo a2ensite $projectname
  6. Follow the Setup Guide in the LORIS Wiki to complete your post-installation setup and configuration, and for more documentation.


Please feel free to subscribe to the LORIS Developers mailing list to ask any LORIS-related questions.