Module PhusionPassenger
In: lib/phusion_passenger.rb
lib/phusion_passenger/preloader_shared_helpers.rb
lib/phusion_passenger/rack/out_of_band_gc.rb
lib/phusion_passenger/rack/thread_handler_extension.rb
lib/phusion_passenger/classic_rails/thread_handler_extension.rb
lib/phusion_passenger/classic_rails/cgi_fixed.rb
lib/phusion_passenger/admin_tools.rb
lib/phusion_passenger/abstract_installer.rb
lib/phusion_passenger/utils/file_system_watcher.rb
lib/phusion_passenger/utils/tee_input.rb
lib/phusion_passenger/utils/tmpdir.rb
lib/phusion_passenger/utils/ansi_colors.rb
lib/phusion_passenger/utils/unseekable_socket.rb
lib/phusion_passenger/utils/json.rb
lib/phusion_passenger/utils/hosts_file_parser.rb
lib/phusion_passenger/utils/tmpio.rb
lib/phusion_passenger/native_support.rb
lib/phusion_passenger/rails3_extensions/init.rb
lib/phusion_passenger/admin_tools/server_instance.rb
lib/phusion_passenger/admin_tools/memory_stats.rb
lib/phusion_passenger/platform_info.rb
lib/phusion_passenger/plugin.rb
lib/phusion_passenger/request_handler.rb
lib/phusion_passenger/packaging.rb
lib/phusion_passenger/platform_info/depcheck.rb
lib/phusion_passenger/platform_info/cxx_portability.rb
lib/phusion_passenger/platform_info/apache_detector.rb
lib/phusion_passenger/platform_info/ruby.rb
lib/phusion_passenger/platform_info/compiler.rb
lib/phusion_passenger/platform_info/linux.rb
lib/phusion_passenger/platform_info/apache.rb
lib/phusion_passenger/platform_info/zlib.rb
lib/phusion_passenger/platform_info/binary_compatibility.rb
lib/phusion_passenger/platform_info/operating_system.rb
lib/phusion_passenger/platform_info/curl.rb
lib/phusion_passenger/message_channel.rb
lib/phusion_passenger/utils.rb
lib/phusion_passenger/analytics_logger.rb
lib/phusion_passenger/public_api.rb
lib/phusion_passenger/console_text_template.rb
lib/phusion_passenger/request_handler/thread_handler.rb
lib/phusion_passenger/constants.rb
lib/phusion_passenger/message_client.rb
lib/phusion_passenger/debug_logging.rb
lib/phusion_passenger/standalone/stop_command.rb
lib/phusion_passenger/standalone/version_command.rb
lib/phusion_passenger/standalone/status_command.rb
lib/phusion_passenger/standalone/config_file.rb
lib/phusion_passenger/standalone/command.rb
lib/phusion_passenger/standalone/runtime_locator.rb
lib/phusion_passenger/standalone/runtime_installer.rb
lib/phusion_passenger/standalone/app_finder.rb
lib/phusion_passenger/standalone/utils.rb
lib/phusion_passenger/standalone/package_runtime_command.rb
lib/phusion_passenger/standalone/main.rb
lib/phusion_passenger/standalone/help_command.rb
lib/phusion_passenger/standalone/start_command.rb
lib/phusion_passenger/loader_shared_helpers.rb

We lazy load as many libraries as possible not only to improve startup performance, but also to ensure that we don‘t require libraries before we‘ve passed the dependency checking stage of the runtime installer.

Methods

Classes and Modules

Module PhusionPassenger::AdminTools
Module PhusionPassenger::ClassicRails
Module PhusionPassenger::DebugLogging
Module PhusionPassenger::LoaderSharedHelpers
Module PhusionPassenger::Packaging
Module PhusionPassenger::PlatformInfo
Module PhusionPassenger::PreloaderSharedHelpers
Module PhusionPassenger::Rack
Module PhusionPassenger::Rails3Extensions
Module PhusionPassenger::SharedConstants
Module PhusionPassenger::Standalone
Module PhusionPassenger::Utils
Class PhusionPassenger::AbstractInstaller
Class PhusionPassenger::AnalyticsLogger
Class PhusionPassenger::ConsoleTextTemplate
Class PhusionPassenger::MessageChannel
Class PhusionPassenger::MessageClient
Class PhusionPassenger::NativeSupportLoader
Class PhusionPassenger::Plugin
Class PhusionPassenger::RequestHandler

Constants

FILE_LOCATION = File.expand_path(__FILE__)
PACKAGE_NAME = 'passenger'   Version numbers ######
VERSION_STRING = '4.0.18'   Run ‘rake ext/common/Constants.h’ after changing this number.
PREFERRED_NGINX_VERSION = '1.4.2'
NGINX_SHA256_CHECKSUM = '5361ffb7b0ebf8b1a04369bc3d1295eaed091680c1c58115f88d56c8e51f3611'
PREFERRED_PCRE_VERSION = '8.32'
PCRE_SHA256_CHECKSUM = 'd5d8634b36baf3d08be442a627001099583b397f456bc795304a013383b6423a'
STANDALONE_INTERFACE_VERSION = 1
GLOBAL_NAMESPACE_DIRNAME = "passenger"   Directories ######
USER_NAMESPACE_DIRNAME = ".passenger"   Subdirectory under $HOME to use for storing stuff.
PLUGIN_DIRS = [ "/usr/share/#{GLOBAL_NAMESPACE_DIRNAME}/plugins", "/usr/local/share/#{GLOBAL_NAMESPACE_DIRNAME}/plugins", "~/#{USER_NAMESPACE_DIRNAME}/plugins"   Directories in which to look for plugins.
REQUIRED_LOCATIONS_INI_FIELDS = [ :bin_dir, :agents_dir, :lib_dir, :helper_scripts_dir, :resources_dir, :include_dir, :doc_dir, :ruby_libdir, :apache2_module_path, :ruby_extension_source_dir, :nginx_module_source_dir
OPTIONAL_LOCATIONS_INI_FIELDS = [ # Directory in which downloaded Phusion Passenger binaries are stored. # Only available when originally packaged. :download_cache_dir
BINARIES_URL_ROOT = "https://oss-binaries.phusionpassenger.com/binaries/passenger/by_release"   Other resource locations ######
PASSENGER_ANALYTICS_WEB_LOG = "PASSENGER_ANALYTICS_WEB_LOG".freeze
PASSENGER_TXN_ID = "PASSENGER_TXN_ID".freeze
PASSENGER_UNION_STATION_KEY = "UNION_STATION_KEY".freeze
RACK_HIJACK_IO = "rack.hijack_io".freeze

Public Class methods

Whether the current Phusion Passenger installation is installed from a release package, e.g. an official gem or official tarball. Retruns false if e.g. the gem was built by the user, or if this install is from a git repository.

Follows the logic of ext/common/ResourceLocator.h, so don‘t forget to modify that too.

Returns whether this Phusion Passenger installation is in the ‘originally packaged’ configuration (as opposed to the ‘natively packaged’ configuration.

When originally packaged, returns the source root. When natively packaged, returns the location of the location configuration file.

[Validate]