Editing
BFH Handwriting Website Deployment
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== PHP == === App code === App code is uploaded using PHPStorm's "sync with deployed" command. * Create a remote host (it's possible to copy an existing host in order to apply existing excluded paths) * Set permissions options such that files are uploaded with `644` permissions and directories have `755` permissions. Ultimately, it would be preferable to use git instead of PHPStorm, even with Namecheap hosting. That will require cloning the repo on the remote server, which will take some time for copying over files not under version control, e.g. images, and for QA. === `common_lib` library === Ultimately, this will be replaced with `littled_lib` and this step can be removed. Until then, there is a separate GitHub repo for `common_lib`, and a separate PHPStorm project for it also. A separate "sync with deployed" job is performed with the `common_lib` project open in PHPStorm. === `littled_lib` library === This is installed using [[#composer|`composer`]]. == `composer` == `composer` is the standard for installing PHP packages. The Authorize.net and PayPal SDKs are distributed with `composer`. === Prerequisites === * `git` ** See [https://www.namecheap.com/support/knowledgebase/article.aspx/9586/89/how-to-deal-with-git-on-our-shared-servers Namecheap's documentation about using `git` on shared servers]. ** Basically `git` is installed, but the path to `git` (`/usr/local/cpanel/3rdparty/bin`) has to be added to bash's `PATH`. === 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 [https://getcomposer.org/download/ 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. ** Do not edit `composer.json` directly on the production server. ** Do not add requirements to `composer.json` on production by running `composer require` commands on the production server. * `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: <syntaxhighlight lang="bash"> $ php -d suhosin.executor.include.whitelist=phar -d memory_limit=1G composer.phar update </syntaxhighlight> [[Category:BFH Handwriting]][[Category:Web Hosting]][[Category:Web Development]]
Summary:
Please note that all contributions to Littledamien Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Littledamien Wiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information