diff options
Diffstat (limited to 'sapi/cli')
-rw-r--r-- | sapi/cli/config.m4 | 2 | ||||
-rw-r--r-- | sapi/cli/config.w32 | 4 | ||||
-rw-r--r-- | sapi/cli/php_cli.c | 5 | ||||
-rw-r--r-- | sapi/cli/php_cli_server.c | 3 | ||||
-rw-r--r-- | sapi/cli/php_cli_server.h | 3 |
5 files changed, 13 insertions, 4 deletions
diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4 index 090574a007..c5819cd8b4 100644 --- a/sapi/cli/config.m4 +++ b/sapi/cli/config.m4 @@ -31,7 +31,7 @@ if test "$PHP_CLI" != "no"; then SAPI_CLI_PATH=sapi/cli/php dnl Select SAPI - PHP_SELECT_SAPI(cli, program, php_cli.c php_http_parser.c php_cli_server.c ps_title.c php_cli_process_title.c,, '$(SAPI_CLI_PATH)') + PHP_SELECT_SAPI(cli, program, php_cli.c php_http_parser.c php_cli_server.c ps_title.c php_cli_process_title.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1, '$(SAPI_CLI_PATH)') case $host_alias in *aix*) diff --git a/sapi/cli/config.w32 b/sapi/cli/config.w32 index 438c9e6d62..664394c8a6 100644 --- a/sapi/cli/config.w32 +++ b/sapi/cli/config.w32 @@ -6,7 +6,7 @@ ARG_ENABLE('crt-debug', 'Enable CRT memory dumps for debugging sent to STDERR', ARG_ENABLE('cli-win32', 'Build console-less CLI version of PHP', 'no'); if (PHP_CLI == "yes") { - SAPI('cli', 'php_cli.c php_http_parser.c php_cli_server.c php_cli_process_title.c ps_title.c', 'php.exe'); + SAPI('cli', 'php_cli.c php_http_parser.c php_cli_server.c php_cli_process_title.c ps_title.c', 'php.exe', '/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1'); ADD_FLAG("LIBS_CLI", "ws2_32.lib"); if (PHP_CRT_DEBUG == "yes") { ADD_FLAG("CFLAGS_CLI", "/D PHP_WIN32_DEBUG_HEAP"); @@ -15,7 +15,7 @@ if (PHP_CLI == "yes") { } if (PHP_CLI_WIN32 == "yes") { - SAPI('cli_win32', 'cli_win32.c php_cli_process_title.c ps_title.c', 'php-win.exe'); + SAPI('cli_win32', 'cli_win32.c php_cli_process_title.c ps_title.c', 'php-win.exe', '/DZEND_ENABLE_STATIC_TSRMLS_CACHE=1'); ADD_FLAG("LDFLAGS_CLI_WIN32", "/stack:67108864"); } diff --git a/sapi/cli/php_cli.c b/sapi/cli/php_cli.c index ef45ef6ef9..f1dab46086 100644 --- a/sapi/cli/php_cli.c +++ b/sapi/cli/php_cli.c @@ -99,6 +99,10 @@ PHPAPI extern char *php_ini_opened_path; PHPAPI extern char *php_ini_scanned_path; PHPAPI extern char *php_ini_scanned_files; +#ifdef ZTS +ZEND_TSRMLS_CACHE_DEFINE; +#endif + #ifndef O_BINARY #define O_BINARY 0 #endif @@ -1236,6 +1240,7 @@ int main(int argc, char *argv[]) #ifdef ZTS tsrm_startup(1, 1, 0, NULL); tsrm_ls = ts_resource(0); + ZEND_TSRMLS_CACHE_UPDATE; #endif #ifdef PHP_WIN32 diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c index 2ace965372..7d930d99f8 100644 --- a/sapi/cli/php_cli_server.c +++ b/sapi/cli/php_cli_server.c @@ -1348,6 +1348,9 @@ out: static int php_cli_server_request_ctor(php_cli_server_request *req) /* {{{ */ { +#ifdef ZTS +ZEND_TSRMLS_CACHE_UPDATE; +#endif req->protocol_version = 0; req->request_uri = NULL; req->request_uri_len = 0; diff --git a/sapi/cli/php_cli_server.h b/sapi/cli/php_cli_server.h index 476ee2919c..9881b0c6a2 100644 --- a/sapi/cli/php_cli_server.h +++ b/sapi/cli/php_cli_server.h @@ -32,7 +32,8 @@ ZEND_BEGIN_MODULE_GLOBALS(cli_server) ZEND_END_MODULE_GLOBALS(cli_server) #ifdef ZTS -#define CLI_SERVER_G(v) TSRMG(cli_server_globals_id, zend_cli_server_globals *, v) +#define CLI_SERVER_G(v) ZEND_TSRMG(cli_server_globals_id, zend_cli_server_globals *, v) +ZEND_TSRMLS_CACHE_EXTERN; #else #define CLI_SERVER_G(v) (cli_server_globals.v) #endif |