Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void destructor() {
- if(TmpPHPInit.SessionInit2) {
- sapi_deactivate();
- zend_ini_deactivate();
- }
- php_request_shutdown((void *) 0);
- if(TmpPHPInit.SessionInit) php_module_shutdown();
- sapi_shutdown();
- tsrm_shutdown();
- }
- SAPI_API PHPOptions *PHPInit(char * name, char * pretty_name) {
- memset(&TmpPHPInit, 0, sizeof(PHPOptions));
- memset(&TmpPHPInit.sapi_module, 0, sizeof(sapi_module_struct));
- TmpPHPInit.SizeZval = sizeof(zval);
- TmpPHPInit.destructor = destructor;
- TmpPHPInit.evalCode= evalCode;
- TmpPHPInit.sapi_module.name = strdup(name);
- TmpPHPInit.sapi_module.pretty_name = strdup(pretty_name);
- TmpPHPInit.sapi_module.startup = php_cli_startup;
- TmpPHPInit.sapi_module.shutdown = php_module_shutdown_wrapper;
- TmpPHPInit.sapi_module.deactivate = sapi_cli_deactivate;
- TmpPHPInit.sapi_module.ub_write = Engineub_write;
- TmpPHPInit.sapi_module.flush = sapi_cli_flush;
- TmpPHPInit.sapi_module.sapi_error = php_error;
- TmpPHPInit.sapi_module.header_handler = sapi_cli_header_handler;
- TmpPHPInit.sapi_module.send_headers = sapi_cli_send_headers;
- TmpPHPInit.sapi_module.send_header = sapi_cli_send_header;
- TmpPHPInit.sapi_module.read_cookies = sapi_cli_read_cookies;
- TmpPHPInit.sapi_module.register_server_variables = sapi_cli_register_variables;
- TmpPHPInit.sapi_module.log_message = sapi_cli_log_message;
- // В будущем используйте zend_register_functions с пометкой CG(function_table)
- TmpPHPInit.sapi_module.additional_functions = additional_functions;
- TmpPHPInit.sapi_module.php_ini_path_override = strdup("php.ini");
- php_tsrm_startup();
- ZEND_TSRMLS_CACHE_UPDATE();
- zend_signal_startup();
- TmpPHPInit.sapi_module.ini_defaults = Engineini_defaults;
- TmpPHPInit.sapi_module.phpinfo_as_text = 1;
- TmpPHPInit.sapi_module.php_ini_ignore_cwd = 1;
- sapi_startup(&TmpPHPInit.sapi_module);
- if (TmpPHPInit.sapi_module.startup(&TmpPHPInit.sapi_module) != FAILURE) {
- TmpPHPInit.SessionInit = 1;
- TmpPHPInit.SessionInit2 = php_request_startup()!=FAILURE;
- }
- return &TmpPHPInit;
- }
RAW Paste Data