summaryrefslogtreecommitdiff
path: root/sapi/embed/php_embed.c
diff options
context:
space:
mode:
Diffstat (limited to 'sapi/embed/php_embed.c')
-rw-r--r--sapi/embed/php_embed.c46
1 files changed, 24 insertions, 22 deletions
diff --git a/sapi/embed/php_embed.c b/sapi/embed/php_embed.c
index 4d8326789..cb50b219d 100644
--- a/sapi/embed/php_embed.c
+++ b/sapi/embed/php_embed.c
@@ -15,7 +15,7 @@
| Author: Edin Kadribasic <edink@php.net> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_embed.c,v 1.11.2.1.2.1 2007/01/01 09:36:12 sebastian Exp $ */
+/* $Id: php_embed.c,v 1.11.2.1.2.5 2007/08/08 21:57:30 stas Exp $ */
#include "php_embed.h"
@@ -24,6 +24,14 @@
#include <fcntl.h>
#endif
+#define HARDCODED_INI \
+ "html_errors=0\n" \
+ "register_argc_argv=1\n" \
+ "implicit_flush=1\n" \
+ "output_buffering=0\n" \
+ "max_execution_time=0\n" \
+ "max_input_time=-1\n"
+
static char* php_embed_read_cookies(TSRMLS_D)
{
return NULL;
@@ -135,12 +143,9 @@ int php_embed_init(int argc, char **argv PTSRMLS_DC)
{
zend_llist global_vars;
#ifdef ZTS
- zend_compiler_globals *compiler_globals;
- zend_executor_globals *executor_globals;
- php_core_globals *core_globals;
- sapi_globals_struct *sapi_globals;
- void ***tsrm_ls;
+ void ***tsrm_ls = NULL;
#endif
+ int ini_entries_len = 0;
#ifdef HAVE_SIGNAL_H
#if defined(SIGPIPE) && defined(SIG_IGN)
@@ -162,36 +167,29 @@ int php_embed_init(int argc, char **argv PTSRMLS_DC)
#ifdef ZTS
tsrm_startup(1, 1, 0, NULL);
-#endif
-
-#ifdef ZTS
- compiler_globals = ts_resource(compiler_globals_id);
- executor_globals = ts_resource(executor_globals_id);
- core_globals = ts_resource(core_globals_id);
- sapi_globals = ts_resource(sapi_globals_id);
tsrm_ls = ts_resource(0);
*ptsrm_ls = tsrm_ls;
#endif
+ ini_entries_len = strlen(HARDCODED_INI);
+ php_embed_module.ini_entries = malloc(ini_entries_len+2);
+ memcpy(php_embed_module.ini_entries, HARDCODED_INI, ini_entries_len+1);
+ php_embed_module.ini_entries[ini_entries_len+1] = 0;
+
sapi_startup(&php_embed_module);
- if (php_embed_module.startup(&php_embed_module)==FAILURE) {
- return FAILURE;
- }
-
if (argv) {
php_embed_module.executable_location = argv[0];
}
+ if (php_embed_module.startup(&php_embed_module)==FAILURE) {
+ return FAILURE;
+ }
+
zend_llist_init(&global_vars, sizeof(char *), NULL, 0);
/* Set some Embedded PHP defaults */
SG(options) |= SAPI_OPTION_NO_CHDIR;
- zend_alter_ini_entry("register_argc_argv", 19, "1", 1, PHP_INI_SYSTEM, PHP_INI_STAGE_ACTIVATE);
- zend_alter_ini_entry("html_errors", 12, "0", 1, PHP_INI_SYSTEM, PHP_INI_STAGE_ACTIVATE);
- zend_alter_ini_entry("implicit_flush", 15, "1", 1, PHP_INI_SYSTEM, PHP_INI_STAGE_ACTIVATE);
- zend_alter_ini_entry("max_execution_time", 19, "0", 1, PHP_INI_SYSTEM, PHP_INI_STAGE_ACTIVATE);
-
SG(request_info).argc=argc;
SG(request_info).argv=argv;
@@ -215,6 +213,10 @@ void php_embed_shutdown(TSRMLS_D)
#ifdef ZTS
tsrm_shutdown();
#endif
+ if (php_embed_module.ini_entries) {
+ free(php_embed_module.ini_entries);
+ php_embed_module.ini_entries = NULL;
+ }
}
/*