All Projects → etsy → incpath

etsy / incpath

Licence: MIT License
PHP extension to support atomic deploys

Programming Languages

c
50402 projects - #5 most used programming language
PHP
23972 projects - #3 most used programming language

Labels

Projects that are alternatives of or similar to incpath

cdncontrol ui
A web UI for Etsy's cdncontrol tool
Stars: ✭ 13 (-74%)
Mutual labels:  non-sox
Apotheosis
No description or website provided.
Stars: ✭ 27 (-46%)
Mutual labels:  non-sox
DebriefingFacilitationGuide
Leading Groups at Etsy to Learn From Accidents
Stars: ✭ 237 (+374%)
Mutual labels:  non-sox
etsy.github.com
Etsy! on Github!
Stars: ✭ 15 (-70%)
Mutual labels:  non-sox
ELK-utils
Utilities for working with the ELK (Elasticsearch, Logstash, Kibana) stack
Stars: ✭ 58 (+16%)
Mutual labels:  non-sox
ab
Etsy's little framework for A/B testing, feature ramp up, and more.
Stars: ✭ 129 (+158%)
Mutual labels:  non-sox
Skyline
It'll detect your anomalies! Part of the Kale stack.
Stars: ✭ 2,129 (+4158%)
Mutual labels:  non-sox
Logster
Parse log files, generate metrics for Graphite and Ganglia
Stars: ✭ 1,967 (+3834%)
Mutual labels:  non-sox
Deployinator
Deployinate!
Stars: ✭ 1,889 (+3678%)
Mutual labels:  non-sox
Androidstaggeredgrid
An Android staggered grid view which supports multiple columns with rows of varying sizes.
Stars: ✭ 4,794 (+9488%)
Mutual labels:  non-sox
geonames
Scripts for using Geonames
Stars: ✭ 24 (-52%)
Mutual labels:  non-sox
PushBot
An IRC Bot for organizing code pushes
Stars: ✭ 80 (+60%)
Mutual labels:  non-sox

=== Introduction ===

incpath is a PHP extension to "resolve" a portion of include_path set in PHP's configuration INI files.

There are 3 configuration values:

  • search_replace_pattern: This is the path string to look for in include_path. incpath applies a simple string comparison to determine a match: no regexes or wildcards allowed. If no match is found for the pattern, incpath will do nothing. If a match is found, incpath will replace the entire matched string with the "resolved" path depending on the SAPI configuration.
  • realpath_sapi_list: Comma-separated list of SAPIs where incpath will realpath(3) the search_replace_pattern and in-place replace it in include_path (this is only done if a match was found).
  • docroot_sapi_list: Comma-separated list of SAPIs where incpath will in-place replace search_replace_pattern with $_SERVER['DOCUMENT_ROOT'] in include_path (this is only done if a match was found).

incpath is intended to be used for atomic changes to a large, deployed PHP application in conjunction with mod_realdoc. Usually such an application has 2 deploy locations: one active and the other inactive. A symlink to the active one is referenced in the DOCUMENT_ROOT in the web server's configuration, and in PHP's include_path.

By hooking in before any actual PHP code executes, incpath "resolves" the symlink exactly once, and all subsequent users of include_path (like require/require_once/include/include_once) never have to resolve it again, thereby ensuring the entire request references code in only one location.

=== Installation ===

  • phpize
  • ./configure
  • make
  • make install
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].