mirror of
https://github.com/php/php-src.git
synced 2025-08-18 23:18:56 +02:00
import
This commit is contained in:
parent
dac2297b10
commit
2fee7dce77
3 changed files with 205 additions and 0 deletions
11
Makefile.frag
Normal file
11
Makefile.frag
Normal file
|
@ -0,0 +1,11 @@
|
|||
phpdbg: $(BUILD_BINARY)
|
||||
|
||||
$(BUILD_BINARY): $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(PHP_PHPDBG_OBJS)
|
||||
$(BUILD_PHPDBG)
|
||||
|
||||
install-phpdbg: $(BUILD_BINARY)
|
||||
@echo "Installing phpdbg binary: $(INSTALL_ROOT)$(bindir)/"
|
||||
@$(mkinstalldirs) $(INSTALL_ROOT)$(bindir)
|
||||
@$(mkinstalldirs) $(INSTALL_ROOT)$(localstatedir)/log
|
||||
@$(mkinstalldirs) $(INSTALL_ROOT)$(localstatedir)/run
|
||||
@$(INSTALL) -m 0755 $(BUILD_BINARY) $(INSTALL_ROOT)$(sbindir)/$(program_prefix)phpdbg$(program_suffix)$(EXEEXT)
|
34
config.m4
Normal file
34
config.m4
Normal file
|
@ -0,0 +1,34 @@
|
|||
dnl
|
||||
dnl $Id$
|
||||
dnl
|
||||
|
||||
PHP_ARG_ENABLE(phpdbg, for phpdbg support,
|
||||
[ --enable-phpdbg Build phpdbg], no, no)
|
||||
|
||||
if test "$PHP_PHPDBG" != "no"; then
|
||||
AC_DEFINE(HAVE_PHPDBG, 1, [ ])
|
||||
|
||||
PHP_PHPDBG_CFLAGS=-I$abs_srcdir/sapi/phpdbg
|
||||
PHP_PHPDBG_FILES=phpdbg.c
|
||||
|
||||
PHP_ADD_MAKEFILE_FRAGMENT([$abs_srcdir/sapi/phpdbg/Makefile.frag])
|
||||
PHP_SELECT_SAPI(phpdbg, program, $PHP_PHPDBG_FILES, $PHP_PHPDBG_CFLAGS, [$(SAPI_PHPDBG_PATH)])
|
||||
|
||||
BUILD_BINARY="sapi/phpdbg/phpdbg"
|
||||
BUILD_PHPDBG="\$(LIBTOOL) --mode=link \
|
||||
\$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \
|
||||
\$(PHP_GLOBAL_OBJS) \
|
||||
\$(PHP_BINARY_OBJS) \
|
||||
\$(PHP_PHPDBG_OBJS) \
|
||||
\$(EXTRA_LIBS) \
|
||||
\$(PHPDBG_EXTRA_LIBS) \
|
||||
\$(ZEND_EXTRA_LIBS) \
|
||||
-o \$(BUILD_BINARY)"
|
||||
|
||||
PHP_SUBST(BUILD_BINARY)
|
||||
PHP_SUBST(BUILD_PHPDBG)
|
||||
fi
|
||||
|
||||
dnl ## Local Variables:
|
||||
dnl ## tab-width: 4
|
||||
dnl ## End:
|
160
phpdbg.c
Normal file
160
phpdbg.c
Normal file
|
@ -0,0 +1,160 @@
|
|||
/*
|
||||
+----------------------------------------------------------------------+
|
||||
| PHP Version 5 |
|
||||
+----------------------------------------------------------------------+
|
||||
| Copyright (c) 1997-2013 The PHP Group |
|
||||
+----------------------------------------------------------------------+
|
||||
| This source file is subject to version 3.01 of the PHP license, |
|
||||
| that is bundled with this package in the file LICENSE, and is |
|
||||
| available through the world-wide-web at the following url: |
|
||||
| http://www.php.net/license/3_01.txt |
|
||||
| If you did not receive a copy of the PHP license and are unable to |
|
||||
| obtain it through the world-wide-web, please send a note to |
|
||||
| license@php.net so we can mail you a copy immediately. |
|
||||
+----------------------------------------------------------------------+
|
||||
| Authors: Joe Watkins <joe.watkins@live.co.uk> |
|
||||
+----------------------------------------------------------------------+
|
||||
*/
|
||||
#include "php.h"
|
||||
#include "php_globals.h"
|
||||
#include "php_variables.h"
|
||||
#include "zend_modules.h"
|
||||
#include "php.h"
|
||||
#include "zend_ini_scanner.h"
|
||||
#include "zend_globals.h"
|
||||
#include "zend_stream.h"
|
||||
|
||||
#include "SAPI.h"
|
||||
#include "sapi/cgi/fastcgi.h"
|
||||
|
||||
#include <php_config.h>
|
||||
|
||||
#include "php_main.h"
|
||||
|
||||
static zend_module_entry sapi_server_module_entry = {
|
||||
STANDARD_MODULE_HEADER,
|
||||
"server",
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
"0.1",
|
||||
STANDARD_MODULE_PROPERTIES
|
||||
};
|
||||
|
||||
static inline int php_sapi_server_module_startup(sapi_module_struct *module) { /* {{{ */
|
||||
if (php_module_startup(module, &sapi_server_module_entry, 1) == FAILURE) {
|
||||
return FAILURE;
|
||||
}
|
||||
return SUCCESS;
|
||||
} /* }}} */
|
||||
|
||||
/* {{{ sapi_module_struct server_sapi_module
|
||||
*/
|
||||
static sapi_module_struct server_sapi_module = {
|
||||
"server", /* name */
|
||||
"SAPI server", /* pretty name */
|
||||
|
||||
php_sapi_server_module_startup, /* startup */
|
||||
php_module_shutdown_wrapper, /* shutdown */
|
||||
|
||||
NULL, /* activate */
|
||||
NULL, /* deactivate */
|
||||
|
||||
NULL, /* unbuffered write */
|
||||
NULL, /* flush */
|
||||
NULL, /* get uid */
|
||||
NULL, /* getenv */
|
||||
|
||||
php_error, /* error handler */
|
||||
|
||||
NULL, /* header handler */
|
||||
NULL, /* send headers handler */
|
||||
NULL, /* send header handler */
|
||||
|
||||
NULL, /* read POST data */
|
||||
NULL, /* read Cookies */
|
||||
|
||||
NULL, /* register server variables */
|
||||
NULL, /* Log message */
|
||||
NULL, /* Get request time */
|
||||
NULL, /* Child terminate */
|
||||
STANDARD_SAPI_MODULE_PROPERTIES
|
||||
};
|
||||
/* }}} */
|
||||
|
||||
static inline int zend_machine(int argc, char **argv TSRMLS_DC) { /* {{{ */
|
||||
php_printf("Hello World :)\n");
|
||||
} /* }}} */
|
||||
|
||||
int main(int argc, char **argv) { /* {{{ */
|
||||
#ifdef ZTS
|
||||
void ***tsrm_ls;
|
||||
{
|
||||
tsrm_startup(
|
||||
1, 1, 0, NULL);
|
||||
|
||||
tsrm_ls = ts_resource(0);
|
||||
}
|
||||
#endif
|
||||
|
||||
sapi_startup(&server_sapi_module);
|
||||
|
||||
if (server_sapi_module.startup(&server_sapi_module) == SUCCESS)
|
||||
{
|
||||
zend_activate(TSRMLS_C);
|
||||
|
||||
#ifdef ZEND_SIGNALS
|
||||
zend_try {
|
||||
zend_signals_activate(TSRMLS_C);
|
||||
} zend_end_try();
|
||||
#endif
|
||||
|
||||
PG(modules_activated)=0;
|
||||
|
||||
zend_try {
|
||||
zend_activate_modules(TSRMLS_C);
|
||||
} zend_end_try();
|
||||
|
||||
/* START: ZEND INITIALIZED */
|
||||
{
|
||||
/* do the thing */
|
||||
zend_machine(argc, argv TSRMLS_CC);
|
||||
}
|
||||
/* END: ZEND BLOCK */
|
||||
|
||||
if (PG(modules_activated)) {
|
||||
zend_try {
|
||||
zend_deactivate_modules(TSRMLS_C);
|
||||
} zend_end_try();
|
||||
}
|
||||
|
||||
zend_deactivate(TSRMLS_C);
|
||||
|
||||
zend_try {
|
||||
zend_post_deactivate_modules(TSRMLS_C);
|
||||
} zend_end_try();
|
||||
|
||||
#ifdef ZEND_SIGNALS
|
||||
zend_try {
|
||||
zend_signal_deactivate(TSRMLS_C);
|
||||
} zend_end_try();
|
||||
#endif
|
||||
|
||||
zend_try {
|
||||
shutdown_memory_manager(CG(unclean_shutdown), 0 TSRMLS_CC);
|
||||
} zend_end_try();
|
||||
|
||||
php_module_shutdown(TSRMLS_C);
|
||||
|
||||
sapi_shutdown();
|
||||
}
|
||||
|
||||
#ifdef ZTS
|
||||
tsrm_shutdown();
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
} /* }}} */
|
Loading…
Add table
Add a link
Reference in a new issue