- Deprecated session_register(), session_unregister() and
session_is_registered(). (Hannes)
+- Changed dl() to be disabled by default. Enabled only when explicitly
+ registered by the SAPI layer. Enabled only with CLI, CGI and EMBED. (Dmitry)
- Changed opendir(), dir() and scandir() to use default context when no context
argument is passed. (Sara)
- Changed open_basedir to allow tightening in runtime contexts. (Sara)
PHP_FE(is_scalar, arginfo_is_scalar)
PHP_FE(is_callable, arginfo_is_callable)
- /* functions from dl.c */
- PHP_FE(dl, arginfo_dl)
-
/* functions from file.c */
PHP_FE(pclose, arginfo_pclose)
PHP_FE(popen, arginfo_popen)
int phpinfo_as_text;
char *ini_entries;
+ const zend_function_entry *additional_functions;
};
/* start Zend extensions */
zend_startup_extensions();
+ /* register additional functions */
+ if (sapi_module.additional_functions) {
+ if (zend_hash_find(&module_registry, "standard", sizeof("standard"), (void**)&module)==SUCCESS) {
+ EG(current_module) = module;
+ zend_register_functions(NULL, sapi_module.additional_functions, NULL, MODULE_PERSISTENT TSRMLS_CC);
+ EG(current_module) = NULL;
+ }
+ }
+
/* make core report what it should */
if (zend_hash_find(&module_registry, "core", sizeof("core"), (void**)&module)==SUCCESS) {
module->version = PHP_VERSION;
};
/* }}} */
+/* {{{ arginfo ext/standard/dl.c */
+ZEND_BEGIN_ARG_INFO(arginfo_dl, 0)
+ ZEND_ARG_INFO(0, extension_filename)
+ZEND_END_ARG_INFO()
+/* }}} */
+
+static const zend_function_entry additional_functions[] = {
+ ZEND_FE(dl, arginfo_dl)
+ {NULL, NULL, NULL}
+};
+
/* {{{ php_cgi_usage
*/
static void php_cgi_usage(char *argv0)
#endif
cgi_sapi_module.executable_location = argv[0];
+ cgi_sapi_module.additional_functions = additional_functions;
/* startup after we get the above ini override se we get things right */
if (cgi_sapi_module.startup(&cgi_sapi_module) == FAILURE) {
};
/* }}} */
+/* {{{ arginfo ext/standard/dl.c */
+ZEND_BEGIN_ARG_INFO(arginfo_dl, 0)
+ ZEND_ARG_INFO(0, extension_filename)
+ZEND_END_ARG_INFO()
+/* }}} */
+
+static const zend_function_entry additional_functions[] = {
+ ZEND_FE(dl, arginfo_dl)
+ {NULL, NULL, NULL}
+};
+
/* {{{ php_cli_usage
*/
static void php_cli_usage(char *argv0)
php_optarg = orig_optarg;
cli_sapi_module.executable_location = argv[0];
+ cli_sapi_module.additional_functions = additional_functions;
/* startup after we get the above ini override se we get things right */
if (cli_sapi_module.startup(&cli_sapi_module)==FAILURE) {
};
/* }}} */
+/* {{{ arginfo ext/standard/dl.c */
+ZEND_BEGIN_ARG_INFO(arginfo_dl, 0)
+ ZEND_ARG_INFO(0, extension_filename)
+ZEND_END_ARG_INFO()
+/* }}} */
+
+static const zend_function_entry additional_functions[] = {
+ ZEND_FE(dl, arginfo_dl)
+ {NULL, NULL, NULL}
+};
+
int php_embed_init(int argc, char **argv PTSRMLS_DC)
{
zend_llist global_vars;
php_embed_module.ini_entries = malloc(sizeof(HARDCODED_INI));
memcpy(php_embed_module.ini_entries, HARDCODED_INI, sizeof(HARDCODED_INI));
+ php_embed_module.additional_functions = additional_functions;
+
if (argv) {
php_embed_module.executable_location = argv[0];
}