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 theheader_sent()method, it always returns false in PHP. - Liberty does not support some PHP reserved words, such as
Path,Domain, andSecure. 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.
- 'DOCUMENT_ROOT' is not the root directory under
which the current script is executing. $_SERVER['DOCUMENT_ROOT'] always
contains
- 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.