BFH Handwriting Website Deployment

From Littledamien Wiki
Revision as of 19:08, 23 February 2016 by Video8 (talk | contribs)
Jump to navigation Jump to search

composer

composer is the standard for installing PHP packages. The Authorize.net and PayPal SDKs are distributed with composer.

Prerequisites

Installation

composer is not available on Namecheap servers. It's necessary to install it manually.

  • ssh to the server
  • cd to site root directory
  • Follow the instructions from the Download Composer page.

Installing and updating packages

  • Composer requirements are stored in composer.json.
    • Edit this file locally and upload it to the Namecheap server.
    • Don't edit the file on the production server, or add requirements to it on production by running composer require.
  • composer arguments
    • .phar files are not whitelisted in Namecheap's php.ini. It's necessary to override this when installing and running composer, e.g. -d suhosin.executor.include/whitelist=phar
    • Namecheap puts a low memory limit on the PHP processes. It may be necessary to increase this limit, e.g. -d memory_limit=1G
    • Authorize.net's documentations places some dependencies in require-dev, however running composer with the --no-dev option throws a bunch of errors. Even in production environments it's therefore necessary to not use this option.
    • Some of Authorize.net's dependencies are hosted on GitHub. Therefore it's necessary to have access to the git executable in order to run composer update.

On the production server, in the root directory of the site, run:

$ php -d suhosin.executor.include.whitelist=phar -d memory_limit=1G composer.phar update