Bug #2296: Crashes when using VirtualHost with Apache 1.3.9
| From: | cgriffin at dka dot com | Date: | Tue, 14 Sep 1999 18:48:36 +0000 |
| Subject: | Bug #2296: Crashes when using VirtualHost with Apache 1.3.9 | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-10912@lists.php.net to get a copy of this message | ||
From: cgriffin@dka.com
Operating system: RedHat 6
PHP version: 3.0.12
PHP Bug Type: Reproduceable crash
Bug description: Crashes when using VirtualHost with Apache 1.3.9
When I use php 3.0.12 with Apache 1.3.9 it crashes when I put a VirtualHost command in the config
file.
If I leave out the VirtualHost Apache starts fine. If I put the VirtualHost in and remove PHP
Apache starts fine.
If I roll back to Apache 1.3.6 it starts fine.
./configure --prefix=/www/php \
--with-apxs=/www/server/bin/apxs \
--with-config-file-path=/www/php/conf \
--enable-track-vars \
--with-exec-dir=/www/php/bin \
--with-gd \
--with-mcrypt \
--with-pgsql
#0 0x4030e3e8 in ?? ()
#1 0x400f61f6 in _IO_old_file_close_it (fp=0x80bbe98) at oldfileops.c:143
#2 0x400f2595 in _IO_old_fclose (fp=0x80bbe98) at oldiofclose.c:43
#3 0x401fa493 in php3_init_config () at configuration-parser.y:221
#4 0x401f1a0b in php3_config_ini_startup () at main.c:965
#5 0x401f24e0 in php3_module_startup () at main.c:1246
#6 0x401efcb8 in php3_create_dir ()
#7 0x80561d3 in ap_single_module_configure ()
#8 0x804f4c0 in load_module ()
#9 0x8054aae in invoke_cmd ()
#10 0x8055393 in ap_handle_command ()
#11 0x8055427 in ap_srm_command_loop ()
#12 0x8055830 in ap_process_resource_config ()
#13 0x80560f2 in ap_read_config ()
#14 0x805f841 in standalone_main ()
#15 0x80600a3 in main ()
#16 0x400b6cb3 in __libc_start_main (main=0x805fd6c <main>, argc=1,
argv=0xbffffd64, init=0x804e890 <_init>, fini=0x8093d6c <_fini>,
rtld_fini=0x4000a350 <_dl_fini>, stack_end=0xbffffd5c)
at ../sysdeps/generic/libc-start.c:78
;;;;;;;;;;;;;;;;;;;
; About this file ;
;;;;;;;;;;;;;;;;;;;
; This file controls many aspects of PHP's behavior. In order for PHP to
; read it, it must be named 'php.ini'. PHP looks for it in the current
; working directory, in the path designated by the environment variable
; PHPRC, and in the path that was defined in compile time (in that order).
; Under Windows, the compile-time path is the Windows directory. The
; path in which the php.ini file is looked for can be overriden using
; the -c argument in command line mode.
;
; The syntax of the file is extremely simple. Whitespace and Lines
; beginning with a semicolon are silently ignored (as you probably guessed).
; Section headers (e.g. [Foo]) are also silently ignored, even though
; they might mean something in the future (they probably won't).
;
; Options are specified using the syntax key = value or key = "complex value".
; Key names are *case sensitive*. foo = bar is different from FOO = bar.
; 'value' can be any number, word or keyword (keywords are On, Off, True,
; False, Yes and No, and are case insensitive).
; 'complex value' can be just about anything, expcept for " and a newline
; Boolean flags can be turned on using the values 1, On, True or Yes.
; They can be turned off using the values 0, Off, False or No.
;
; All the values in the php.ini-dist file correspond to the builtin
; defaults (that is, if no php.ini is used, or if you delete these lines,
; the builtin defaults will be identical).
;;;;;;;;;;;;;;;;;;;;
; Language Options ;
;;;;;;;;;;;;;;;;;;;;
engine = On ; Enable the PHP scripting language engi
ne under Apache
short_open_tag = Off ; allow the <? tag. otherwise, only <?php and <
script> tags are recognized.
asp_tags = Off ; allow ASP-style <% %> tags
precision = 14 ; number of significant digits displayed
in floating point numbers
y2k_compliance = Off ; whether to be year 2000 compliant (will cause
problems with non y2k compliant browsers)
; Safe Mode
safe_mode = Off
safe_mode_exec_dir =
; Colors for Syntax Highlighting mode. Anything that's acceptable in <font colo
r=???> would work.
highlight.string = #DD0000
highlight.comment = #FF8000
highlight.keyword = #007700
highlight.bg = #FFFFFF
highlight.default = #0000BB
highlight.html = #000000
; Misc
allow_builtin_links = Off ; Sets whether phpinfo() will ge
nerate built-in links that display the PHP
; and Zend logos
, and tells PHP whether to honor them or not.
; It is no secur
ty threat in any way, but it make sit possible
; to determine w
hether you use PHP on your server or not.
;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;
max_execution_time = 30 ; Maximum execution time of each script, in seconds
(UNIX only)
memory_limit = 8388608 ; Maximum amount of memory a script may consume
(8MB)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; error_reporting is a bit-field. Add each number up to get desired error repor
ting level
; 1 = Normal errors
; 2 = Normal warnings
; 4 = Parser errors
; 8 = Notices - warnings you can ignore, but sometimes imply a bug (e.g., using
an uninitialized variable)
error_reporting = 7
display_errors = On ; Print out errors (as a part of the HTML script
)
log_errors = On ; Log errors into a log file (server-spe
cific log, stderr, or error_log (below))
track_errors = Off ; Store the last error/warning message in $php_e
rrormsg (boolean)
error_prepend_string = "<font color=ff0000>" ; string to output before an erro
r message
error_append_string = "</font>" ; string to output after an error
message
;error_log = filename ; log errors to specified file
error_log = syslog ; log errors to syslog (Event Log on NT,
not valid in Windows 95)
warn_plus_overloading = Off ; warn if the + operator is used
with strings
;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;
magic_quotes_gpc = On ; magic quotes for incoming GET/
POST/Cookie data
magic_quotes_runtime= Off ; magic quotes for runtime-generated dat
a, e.g. data from SQL, from exec(), etc.
magic_quotes_sybase = Off ; Use Sybase-style magic quotes
(escape ' with '' instead of \')
track_vars = On ; enable $HTTP_GET_VARS[
], $HTTP_POST_VARS[] and $HTTP_COOKIE_VARS[] arrays
; automatically add files before or after any PHP 3.0 document
auto_prepend_file =
auto_append_file =
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
include_path = "./:/www/php/include" ; UNIX: "/path1:/path2"
Windows: "\path1;\path2"
doc_root = ; the root of th
e php pages, used only if nonempty
user_dir = ; the directory
under which php opens the script using /~username, used only if nonempty
;upload_tmp_dir = ; temporary directory for HTTP uploaded
files (will use system default if not specified)
upload_max_filesize = 2097152 ; 2 Meg default limit on file uploads
extension_dir = ./ ; directory in which the
loadable extensions (modules) reside
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
; if you wish to have an extension loaded automaticly, use the
; following syntax: extension=modulename.extension
; for example, on windows,
; extension=msql.dll
; or under UNIX,
; extension=msql.so
; Note that it should be the name of the module only, no directory information
; needs to go here. Specify the location of the extension with the extension_di
r directive above.
;Windows Extensions
;extension=php_mysql.dll
;extension=php_nsmail.dll
;extension=php_calendar.dll
;extension=php_dbase.dll
;extension=php_filepro.dll
;extension=php_gd.dll
;extension=php_dbm.dll
;extension=php_mssql.dll
;extension=php_zlib.dll
;extension=php_filepro.dll
;extension=php_imap4r2.dll
;extension=php_ldap.dll
;extension=php_crypt.dll
;extension=php_msql2.dll
;extension=php_odbc.dll
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
[Syslog]
define_syslog_variables = Off ; Whether or not to define the various syslog va
riables,
; e.g. $LOG_PID,
$LOG_CRON, etc. Turning it off is a
; good idea perf
ormance-wise. In runtime, you can define
; these variable
s by calling define_syslog_variables()
[mail function]
SMTP = localhost ;for win32 only
sendmail_from = me@localhost.com ;for win32 only
sendmail_path = ;for unix only,
may supply arguments as well (default is sendmail -t)
[Debugger]
debugger.host = 207.67.207.131
debugger.port = 7869
debugger.enabled = False
[Logging]
; These configuration directives are used by the example logging mechanism.
; See examples/README.logging for more explanation.
;logging.method = db
;logging.directory = /path/to/log/directory
[SQL]
sql.safe_mode = Off
[ODBC]
;uodbc.default_db = Not yet implemented
;uodbc.default_user = Not yet implemented
;uodbc.default_pw = Not yet implemented
uodbc.allow_persistent = On ; allow or prevent persistent links
uodbc.max_persistent = -1 ; maximum number of persistent links. -1
means no limit
uodbc.max_links = -1 ; maximum number of links (persi
stent+non persistent). -1 means no limit
uodbc.defaultlrl = 4096 ; Handling of LONG fields. Returns numbe
r of bytes to variables, 0 means passthru
uodbc.defaultbinmode = 1 ; Handling of binary data. 0 means passt
hru, 1 return as is, 2 convert to char
; See the documentation on odbc_binmode and odbc_longreadlen for an explanation
of uodbc.defaultlrl
; and uodbc.defaultbinmode
[MySQL]
mysql.allow_persistent = On ; allow or prevent persistent link
mysql.max_persistent = -1 ; maximum number of persistent links. -1
means no limit
mysql.max_links = -1 ; maximum number of links (persi
stent+non persistent). -1 means no limit
mysql.default_port = ; default port number for mysql_
connect(). If unset,
; mysql_connect(
) will use the $MYSQL_TCP_PORT, or the mysql-tcp
; entry in /etc/
services, or the compile-time defined MYSQL_PORT
; (in that order
). Win32 will only look at MYSQL_PORT.
mysql.default_host = ; default host for mysql_connect
() (doesn't apply in safe mode)
mysql.default_user = ; default user for mysql_connect
() (doesn't apply in safe mode)
mysql.default_password = ; default password for mysql_connect() (
doesn't apply in safe mode)
; Note that this
is generally a *bad* idea to store passwords
; in this file.
*Any* user with PHP access can run
; 'echo cfg_get_
var("mysql.default_password")' and reveal that
; password! And
of course, any users with read access to this
; file will be a
ble to reveal the password as well.
[mSQL]
msql.allow_persistent = On ; allow or prevent persistent link
msql.max_persistent = -1 ; maximum number of persistent l
inks. -1 means no limit
msql.max_links = -1 ; maximum number of links (persi
stent+non persistent). -1 means no limit
[PostgresSQL]
pgsql.allow_persistent = On ; allow or prevent persistent link
pgsql.max_persistent = -1 ; maximum number of persistent links. -1
means no limit
pgsql.max_links = -1 ; maximum number of links (persi
stent+non persistent). -1 means no limit
[Sybase]
sybase.allow_persistent = On ; allow or prevent persistent link
sybase.max_persistent = -1 ; maximum number of persistent links. -1
means no limit
sybase.max_links = -1 ; maximum number of links (persi
stent+non persistent). -1 means no limit
;sybase.interface_file = "/usr/sybase/interfaces"
sybase.min_error_severity = 10 ; minimum error severity to disp
lay
sybase.min_message_severity = 10 ; minimum message severity to di
splay
sybase.compatability_mode = Off ; compatability mode with earlier versio
ns of PHP 3.0.
; If on,
this will cause PHP to automatically assign types to results
; accord
ing to their Sybase type, instead of treating them all as
; string
s. This compatability mode will probably not stay around
; foreve
r, so try applying whatever necessary changes to your code,
; and tu
rn it off.
[Sybase-CT]
sybct.allow_persistent = On ; allow or prevent persistent li
nk
sybct.max_persistent = -1 ; maximum number of persistent l
inks. -1 means no limit
sybct.max_links = -1 ; maximum number of link
s (persistent+non persistent). -1 means no limit
sybct.min_server_severity = 10 ; minimum server message severit
y to display
sybct.min_client_severity = 10 ; minimum client message severit
y to display
[bcmath]
bcmath.scale = 0 ; number of decimal digits for all bcmath functi
ons
[browscap]
;browscap = extra/browscap.ini
[Informix]
ifx.default_host = ; default host for ifx_connect()
(doesn't apply in safe mode)
ifx.default_user = ; default user for ifx_connect()
(doesn't apply in safe mode)
ifx.default_password = ; default password for ifx_conne
ct() (doesn't apply in safe mode)
ifx.allow_persistent = On ; allow or prevent persistent li
nk
ifx.max_persistent = -1 ; maximum number of persistent l
inks. -1 means no limit
ifx.max_links = -1 ; maximum number of links (persi
stent+non persistent). -1 means no limit
ifx.textasvarchar = 0 ; if set on, select statements r
eturn the contents of a text blob instead of it's id
ifx.byteasvarchar = 0 ; if set on, select statements r
eturn the contents of a byte blob instead of it's id
ifx.charasvarchar = 0 ; trailing blanks are stripped f
rom fixed-length char columns. May help the life
; of Informix SE users.
ifx.blobinfile = 0 ; if set on, the contents of tex
t&byte blobs are dumped to a file instead of
; keeping them in memory
ifx.nullformat = 0 ; NULL's are returned as empty s
trings, unless this is set to 1. In that case,
; NULL's are returned as string
'NULL'.
[Session]
session.save_handler = files ; handler used to store/retrieve data
session.save_path = /tmp ; argument passed to save_handler
; in the case of files, this is the
; path where data files are stored
session.name = PHPSESSID ; name of the session
; is used as cookie name
session.auto_start = 0 ; initialize session on request startup
session.lifetime = 0 ; lifetime in seconds of cookie
; or if 0, until browser is restarted
session.serialize_handler = php ; handler used to serialize data
; php is the standard serializer of PHP
session.gc_probability = 1 ; procentual probability that the
; 'garbage collection' process is started
; on every session initialization
session.gc_maxlifetime = 1440 ; after this number of seconds, stored
; data will be seen as 'garbage' and
; cleaned up by the gc process