Restrictions

The CICS® TS Feature Pack for Dynamic Scripting V2.0 is provided as a CICS Liberty OSGi bundle that encapsulates a PHP runtime engine, which results in some restrictions on your PHP applications.

The following restrictions apply to your PHP applications:

  • Liberty does not support the header_sent() method. If you use the header_sent() method, it always returns false in PHP.
  • Liberty does not support some PHP reserved words, such as Path, Domain, and Secure. If the browser sends a cookie that contains such a reserved word, an exception is issued.
  • Custom PHP extensions are not supported.
  • Only a subset of PHP extensions is supported. See Supported PHP extensions and php.ini entries for a complete list.
  • Some variables in $_SERVER can behave differently from php.net:
    • 'DOCUMENT_ROOT' is not the root directory under which the current script is executing. $_SERVER['DOCUMENT_ROOT'] always contains / in CICS TS Feature Pack for Dynamic Scripting V2.0.
    • 'SCRIPT_NAME' contains the current script's path with the context root prefix. For example, $_SERVER['SCRIPT_NAME'] in a script at the address http://example.com/yourweb/index.php would contain /yourweb/index.php.
    • 'SCRIPT_FILENAME' contains the absolute path name of the currently executing script. This path is from the cache directory, not the path in WAB.
  • Some JCICS APIs are not supported:
    • 3270 APIs are not supported. JCICS APIs for 3270 interaction exist, but are unavailable in Dynamic Scripting. This restriction is because all Dynamic Scripting tasks run without a principal facility.
    • APPC Conversation APIs are not supported, for example, AttachInitiator, SyncLevel, Conversation, ConversationPrincipalFacility, ConversationSendOptions, and ConversationState.
  • If you are migrating an existing application that was developed using a previous version of the Dynamic Scripting Feature Pack, additional restrictions might apply. For more information, see Migrating applications from version 1.x to version 2.0.