LSAPI
Release Log

LiteSpeed Server API (LSAPI) is highly optimized for communication between LiteSpeed and third party web engine.

  • PHP LSAPI 6.11 (6-28-2017) Bug Fixes

    • BUGFIX Fixed .user.ini value displaying in phpinfo(), but not actually applying. (Patch provided by CloudLinux)
    • BUGFIX Fixed a bug where 'ini_set' failed to override 'php_value' in .htaccess. (Patch provided by CloudLinux)

    PHP LSAPI 6.10 (9-19-2016) Feature Enhancements

    • NEW FEATURE Added .user.ini support, controlled by the LSPHP_ENABLE_USER_INI environment variable.
    • NEW FEATURE Added new environment variable LSPHPRC to override php.ini.

    PHP LSAPI 6.9 (12-9-2015) Bug Fixes

    • Fixed a bug in suEXEC daemon mode where server secret would not be cleared.
    • Fixed a bug where a malformed LSAPI request could crash the PHP process.
    • Fixed a bug in CLI mode that caused a bad value for the DIR global variable.
    • (PHP 7) Fixed a bug that broke PHP configuration override through Apache config.

    PHP LSAPI 6.8 (6-12-2015) Improved functionality

    • Added PHP 7 support.

    PHP LSAPI 6.7 (9-4-2014) Improved functionality and bug fix

    • Added support for filter_input() function.
    • Fixed bug causing a crash when run in CLI mode.

    PHP LSAPI 6.6 (11-22-2013) Performance improvement

    • Default child process limit for suEXEC Daemon mode increased to avoid stalling the daemon and causing 503 errors.

    PHP LSAPI 6.5 (11-18-2013) Bug fix

    • Fixed bug in LSAPI lib causing problems for executing commands from within PHP scripts. Problem existed since version 6.2.

    PHP LSAPI 6.4 (10-30-2013) Minor bug fixes and feature enhancements

    • Avoid multiple debugging sessions when hanging PHP processes detected.
    • Return 508 error page when CloudLinux LVE resource limit has been reached.
    • Fixed bug in tracking number of child processes.
    • Minor performance tuning for suEXEC daemon mode.

    PHP LSAPI 6.3 (08-06-2013) Minor bug fixes and feature enhancements

    • Added apache_get_modules() function to improve compatibility with mod_php.
    • Fixed a bug showing partial original command line parameters.
    • Changed GDB stack backtrace generation setting to disabled by default. It can be enabled with the the environment variable LSAPI_DUMP_DEBUG_INFO=1.

    PHP LSAPI 6.2 (05-22-2013) Minor feature enhancements

    • Added the ability for the suEXEC daemon to kill runaway child processes.
    • Speeded up recycling of child processes for better memory usage.
    • Changed process naming, allowed for shorter process names.

    PHP LSAPI 6.1 (11-21-2012) Minor bug fixes

    • Remove code related to changing php.ini when suEXEC daemon mode is used, does not work.
    • Added "-n" option for CLI mode, which skips loading php.ini

    PHP LSAPI 6.0 (09-10-2012) Major feature enhancements

    • PHP suEXEC daemon mode has been added to improve performance and memory efficiency.
    • added native CloudLinux LVE/CageFS support.

    PHP LSAPI 5.5 (12-13-2010) Minor bug fix

    • added support for "php_value engine off" feature
    • fixed the validation code for length of custom HTTP header.

    PHP LSAPI 5.4 (7-15-2010) Minor bug fix

    • change configuration option "register_long_arrays" to be turned on by default.
    • fixed installer script for FreeBSD.

    PHP LSAPI 5.3 (2-8-2010) Minor bug fix

    • configuration option "register_long_arrays" that turned off by default can be enabled through php.ini.

    PHP LSAPI 5.1 (1-17-2010) Minor bug fix

    • Improved performance by optimizing PHP interface code.
    • Fixed few compatibility bugs

    PHP LSAPI 5.0 (1-12-2010) Major feature enhancements

    • Improved performance by optimizing PHP interface code.
    • Implemented the feature that show script name in "top" and "ps" output.
    • Added slow request log to identify slow PHP scripts.
    • Show LSAPI code version in PHPINFO page

    PHP LSAPI 4.8 (9-10-2008) Minor feature enhancements

    • Ignore SIGXFSZ signal and disable core dump by default.

    PHP LSAPI 4.7 (4-14-2008) Minor bug fixes

    • Switched to non-blocking listener socket to avoid hanging Ruby/Php processes, replaced kill( ppid, 0 ) with getppid() to test the status of the parent process.

    PHP LSAPI 4.6 (2-26-2008) Minor bug fixes

    • Improved the internal process manager to avoid killing active children process with SIGTERM.

    PHP LSAPI 4.5 (1-31-2008) Minor bug fixes

    • Fixed the code in LSAPI libary that failed to compile under Mac OS X.
    • Added implementation of PHP function getallheaders() and apache_request_headers(), compatibility with PHP code written for mod_php has been improved.

    PHP LSAPI 4.4 (1-3-2008) Minor bug fixes

    • Error logging has been improved during application startup time to avoid 503 errors.
    • Source code has been cleaned up.

    PHP LSAPI 4.3 (12-11-2007) Minor feature enhancements

    • Added a command line option to enable PHP source code output.

    PHP LSAPI 4.2 (11-25-2007) Minor bug fixes

    • Fixed a bug that causes LSAPI build failure on some Apple Mac OS X environments.

    PHP LSAPI 4.1 (8-21-2007) Minor bug fixes

    • Added LSAPI_AVOID_FORK environment variable to minimize dynamic start/stop of children process.
    • Fixed a bug that may cause infinity looping while reading request body under special situation.

    PHP LSAPI 4.0 (5-10-2007) Minor feature enhancement

    • Added support for 'apache_response_headers' function.

    PHP LSAPI 3.1 (4-24-2007) Minor bug fixes

    • Improved builtin Process Manager to reliably stop children processes.
    • Added LSAPI_EXTRA_CHILDREN environment variable to give better control of extra children processes can be started while existing children processes are in error state.

    PHP LSAPI 2.4 (01-10-2007) Bug Fix

    • Fixed: A bug may cause LSAPI application to run with 99% CPU.
    • Improved: Ruby LSAPI extension follows specification of ruby's I/O library more closely.

    PHP LSAPI 2.3 (10-09-2006) Bug Fix

    • Fixed: Custom request header values could be truncated.

    PHP LSAPI 2.2 (07-07-2006) Compatibility

    • PHP LSAPI has been upgraded to work with "getenv()" function. For code portability, LiteSpeed recommend PHP coders to defer from using getenv() and use specific $_ENV variable access.

    PHP LSAPI 2.1 (05-16-2006) Bug Fix

    • Fixed a 503 error when PHP_LSAPI_CHILDREN env variable is set. The env variable does not apply to Ruby but the fix affected the base library.
  • Python LSAPI 1.2 (3-10-2017) Improved Compatibility

    • IMPROVEMENT Improved compatibility with Python 3.

    Python LSAPI 1.1 (1-9-2017) Improved Functionality

    • MAJOR IMPROVEMENT Added support for Python 3.x releases.

    Python LSAPI 1.0 (08-06-2013) Initial release

    • Initial release of Python LSAPI.
  • Ruby LSAPI 4.1 (01-30-2013) Major feature enhancements

    • Added native RewindableInput implementation to boost RACK performance.
    • Added support for Rack Sendfile middleware to utilize web server's file delivery code.
    • Along with LSWS 4.2.2 release, provide better support for Rack/Rails 3.0+ applications.

    Ruby LSAPI 3.5 (05-14-2009) Minor bug fix

    • Reinitialize random number generator when a new child process was forked.

    Ruby LSAPI 3.4 (10-27-2008) Minor bug fix

    • Fixed a bug in calling STDERR.reopen() function.

    Ruby LSAPI 3.3 (9-10-2008) Minor feature enhancements

    • Ignore SIGXFSZ signal and disable core dump by default.

    Ruby LSAPI 3.2 (4-14-2008) Minor bug fixes

    • Switched to non-blocking listener socket to avoid hanging Ruby/Php processes, replaced kill( ppid, 0 ) with getppid() to test the status of the parent process.

    Ruby LSAPI 3.1 (2-26-2008) Minor bug fixes

    • Improved the internal process manager to avoid killing active children process with SIGTERM.

    Ruby LSAPI 3.0 (1-31-2008) Minor bug fixes

    • Fixed the code in LSAPI libary that failed to compile under Mac OS X.
    • Added implementation of PHP function getallheaders() and apache_request_headers(), compatibility with PHP code written for mod_php has been improved.

    Ruby LSAPI 2.9 (1-3-2008) Minor bug fixes

    • Error logging has been improved during application startup time to avoid 503 errors.
    • Source code has been cleaned up.

    Ruby LSAPI 2.8 (11-25-2007) Minor bug fixes

    • Fixed a bug that causes LSAPI build failure on some Apple Mac OS X environments.

    Ruby LSAPI 2.7 (8-21-2007) Minor bug fixes

    • Added LSAPI_AVOID_FORK environment variable to minimize dynamic start/stop of children process.
    • Fixed a bug that may cause infinity looping while reading request body under special situation.

    Ruby LSAPI 2.5 (05-18-2007) Feature enhancement/Bug fix

    • Fixed request_uri incompatibility issue by including query string part.

    Ruby LSAPI 2.4 (4-24-2007) Minor bug fixes

    • Improved builtin Process Manager to reliably stop children processes.
    • Added LSAPI_EXTRA_CHILDREN environment variable to give better control of extra children processes can be started while existing children processes are in error state.

    Ruby LSAPI 2.3 (03-15-2007) Feature enhancement/Bug fix

    • LSAPI integration code has been rewritten with better process control and better STDERR logging.
    • Following environment variables has been added: LSAI_MAX_IDLE_CHILDREN, LSAPI_MAX_PROCESS_TIME, please refer to README file for more detail.
    • STDERR stream is logged into web server log file instead of stderr.log.

    Ruby LSAPI 1.13 (01-16-2007) Bug Fix

    • Fixed: A bug may cause Ruby LSAPI application to run with 99% CPU.

    Ruby LSAPI 1.12 (01-10-2007) Bug Fix

    • Fixed: A bug may cause LSAPI application to run with 99% CPU.
    • Improved: Ruby LSAPI extension follows specification of ruby's I/O library more closely.

    Ruby LSAPI 1.11 (10-09-2006) Bug Fix

    • Fixed: Custom request header values could be truncated.

    Ruby LSAPI 1.10 (09-29-2006) Bug Fix

    • Fixed: Registered "env_copy" as a ruby global variable to prevent it from being garbage collected resulting in possible 503 error.

    Ruby LSAPI 1.9 (09-25-2006) Feature enhancement/Bug fix

    • Fixed: Build problem for Solaris 8.
    • Compatibility: Request parameters have been updated to match that of WEBrick.

    Ruby LSAPI 1.8 (09-18-2006) Feature enhancement/Bug fix

    • New: Added environment variable "LSAPI_PGRP_MAX_IDLE" to tell idle process group to terminate. This environment variable will be set by LSWS 2.2.2 automatically based on "Max idle time".

    Ruby LSAPI 1.7 (09-11-2006) Bug fix

    • Updated: Change default of LSAPI_MAX_REQS to 1,000,000 from 1,000.
    • Fixed: Missing environment variables set in Rails configuration.

    Ruby LSAPI 1.6 (08-22-2006) Bug fix

    • Fixed: work around Ruby's internal signal handler to ensure unresponsive Ruby processes terminate.

    Ruby LSAPI 1.5 (08-16-2006) Bug fix

    • Fixed: v1.4 bug where small POST operation can fail.

    Ruby LSAPI 1.4 (08-04-2006) Feature enhancement/Bug fix

    • Fixed: a worker process does not remain persistent if a request has been canceled.
    • New: Maximum number of worker processes has been limited to twice the configured value to prevent DoS type attacks.
    • New Env Variable: LSAPI_MAX_REQS=n, where n is the maximum number of requests that a child process can serve.Default value is 1000. Once the value is reached, the child process will exit automatically. This will help in case of any memory leaks in Rails.
    • New Env Variable: LSAPI_MAX_IDLE=n, where n is the maximum idle time in seconds that a child process will be waiting for a new request. Once limit is reached, the child process will quit. Default value is 60. When n <= 0, the child process will wait indefinitely. This option helps getting rid of idle children processes.

    Ruby LSAPI 1.3 (06-29-2006) Bug Fix

    • A SIGCHLD signal handler has been added to the Ruby LSAPI module to resolve a problem which can lead to zombie processes.

    Ruby LSAPI 1.2 (05-16-2006) Bug Fix

    • Fixed a 503 error when PHP_LSAPI_CHILDREN env variable is set. The env variable does not apply to Ruby but the fix affected the base library.