Lines Matching refs:ctx

108 static void nxt_php_dynamic_request(nxt_php_run_ctx_t *ctx,
114 static void nxt_php_execute(nxt_php_run_ctx_t *ctx, nxt_unit_request_t *r);
212 nxt_php_run_ctx_t *ctx; in ZEND_NAMED_FUNCTION() local
214 ctx = SG(server_context); in ZEND_NAMED_FUNCTION()
216 if (nxt_fast_path(ctx != NULL)) { in ZEND_NAMED_FUNCTION()
217 ctx->chdir = 1; in ZEND_NAMED_FUNCTION()
227 nxt_php_run_ctx_t *ctx; in PHP_FUNCTION() local
237 ctx = SG(server_context); in PHP_FUNCTION()
239 if (nxt_slow_path(ctx == NULL || ctx->req == NULL)) { in PHP_FUNCTION()
266 nxt_unit_request_done(ctx->req, NXT_UNIT_OK); in PHP_FUNCTION()
267 ctx->req = NULL; in PHP_FUNCTION()
1010 nxt_php_run_ctx_t ctx; in nxt_php_request_handler() local
1016 nxt_memzero(&ctx, sizeof(ctx)); in nxt_php_request_handler()
1018 ctx.req = req; in nxt_php_request_handler()
1019 ctx.root = &target->root; in nxt_php_request_handler()
1020 ctx.index = &target->index; in nxt_php_request_handler()
1023 nxt_php_dynamic_request(&ctx, r); in nxt_php_request_handler()
1027 ctx.script_filename = target->script_filename; in nxt_php_request_handler()
1028 ctx.script_dirname = target->script_dirname; in nxt_php_request_handler()
1029 ctx.script_name = target->script_name; in nxt_php_request_handler()
1031 ctx.chdir = (r->app_target != nxt_php_last_target); in nxt_php_request_handler()
1033 nxt_php_execute(&ctx, r); in nxt_php_request_handler()
1035 nxt_php_last_target = ctx.chdir ? -1 : r->app_target; in nxt_php_request_handler()
1040 nxt_php_dynamic_request(nxt_php_run_ctx_t *ctx, nxt_unit_request_t *r) in nxt_php_dynamic_request() argument
1051 ctx->path_info.start = memmem(path.start, path.length, ".php/", in nxt_php_dynamic_request()
1053 if (ctx->path_info.start != NULL) { in nxt_php_dynamic_request()
1054 ctx->path_info.start += 4; in nxt_php_dynamic_request()
1055 path.length = ctx->path_info.start - path.start; in nxt_php_dynamic_request()
1057 ctx->path_info.length = r->path_length - path.length; in nxt_php_dynamic_request()
1060 script_name = *ctx->index; in nxt_php_dynamic_request()
1071 if (ctx->root->length + path.length + 1 > PATH_MAX) { in nxt_php_dynamic_request()
1072 nxt_unit_request_done(ctx->req, ec); in nxt_php_dynamic_request()
1077 p = nxt_cpymem(tpath, ctx->root->start, ctx->root->length); in nxt_php_dynamic_request()
1083 ec = nxt_php_do_301(ctx->req); in nxt_php_dynamic_request()
1085 ec = nxt_php_handle_fs_err(ctx->req); in nxt_php_dynamic_request()
1088 nxt_unit_request_done(ctx->req, ec); in nxt_php_dynamic_request()
1093 ctx->script_filename.length = ctx->root->length in nxt_php_dynamic_request()
1097 p = nxt_malloc(ctx->script_filename.length + 1); in nxt_php_dynamic_request()
1099 nxt_unit_request_done(ctx->req, NXT_UNIT_ERROR); in nxt_php_dynamic_request()
1104 ctx->script_filename.start = p; in nxt_php_dynamic_request()
1106 ctx->script_name.length = path.length + script_name.length; in nxt_php_dynamic_request()
1107 ctx->script_name.start = p + ctx->root->length; in nxt_php_dynamic_request()
1109 p = nxt_cpymem(p, ctx->root->start, ctx->root->length); in nxt_php_dynamic_request()
1118 ctx->chdir = 1; in nxt_php_dynamic_request()
1120 ret = nxt_php_dirname(&ctx->script_filename, &ctx->script_dirname); in nxt_php_dynamic_request()
1122 nxt_unit_request_done(ctx->req, NXT_UNIT_ERROR); in nxt_php_dynamic_request()
1123 nxt_free(ctx->script_filename.start); in nxt_php_dynamic_request()
1128 nxt_php_execute(ctx, r); in nxt_php_dynamic_request()
1130 nxt_free(ctx->script_filename.start); in nxt_php_dynamic_request()
1131 nxt_free(ctx->script_dirname.start); in nxt_php_dynamic_request()
1153 nxt_php_execute(nxt_php_run_ctx_t *ctx, nxt_unit_request_t *r) argument
1163 filename = (const char *) ctx->script_filename.start;
1165 nxt_unit_req_debug(ctx->req, "PHP execute script %s", filename);
1171 nxt_unit_req_debug(ctx->req, "PHP fopen(\"%s\") failed", filename);
1173 ec = nxt_php_handle_fs_err(ctx->req);
1174 nxt_unit_request_done(ctx->req, ec);
1178 SG(server_context) = ctx;
1198 ctx->cookie = nxt_unit_sptr_get(&f->value);
1225 nxt_unit_req_debug(ctx->req, "php_request_startup() failed");
1227 nxt_unit_request_done(ctx->req, NXT_UNIT_ERROR);
1233 if (ctx->chdir) {
1234 ctx->chdir = 0;
1235 nxt_php_vcwd_chdir(ctx->req, ctx->script_dirname.start);
1256 if (ctx->req != NULL) {
1257 nxt_unit_request_done(ctx->req, NXT_UNIT_OK);
1296 nxt_php_run_ctx_t *ctx; local
1298 ctx = SG(server_context);
1300 rc = nxt_unit_response_write(ctx->req, str, str_length);
1317 nxt_php_run_ctx_t *ctx; local
1322 ctx = SG(server_context);
1323 req = ctx->req;
1393 nxt_php_run_ctx_t *ctx; local
1395 ctx = SG(server_context);
1397 nxt_unit_req_debug(ctx->req, "nxt_php_read_post %d", (int) count_bytes);
1399 return nxt_unit_request_read(ctx->req, buffer, count_bytes);
1406 nxt_php_run_ctx_t *ctx; local
1408 ctx = SG(server_context);
1410 nxt_unit_req_debug(ctx->req, "nxt_php_read_cookies");
1412 return ctx->cookie;
1421 nxt_php_run_ctx_t *ctx; local
1425 ctx = SG(server_context);
1427 req = ctx->req;
1450 if (ctx->path_info.length != 0) {
1454 nxt_php_set_str(req, "PATH_INFO", &ctx->path_info,
1458 nxt_php_set_str(req, "PHP_SELF", &ctx->script_name,
1469 nxt_php_set_str(req, "SCRIPT_NAME", &ctx->script_name,
1477 nxt_php_set_str(req, "SCRIPT_FILENAME", &ctx->script_filename,
1486 nxt_php_set_str(req, "DOCUMENT_ROOT", ctx->root,
1629 nxt_php_run_ctx_t *ctx; local
1631 ctx = SG(server_context);
1633 if (ctx != NULL) {
1634 nxt_unit_req_log(ctx->req, NXT_UNIT_LOG_NOTICE,