php-windows Digest 29 Nov 2003 19:51:05 -0000 Issue 2021
Topics (messages 22242 through 22243):
Newbie Error Logging Question
22242 by: Jeff Anderson
Class question
22243 by: Alex
Administrivia:
To subscribe to the digest, e-mail:
[EMAIL PROTECTED]
To unsubscribe from the digest, e-mail:
[EMAIL PROTECTED]
To post to the list, e-mail:
[EMAIL PROTECTED]
----------------------------------------------------------------------
--- Begin Message ---
Hello All,
I'm a newbie. I tried searching for an answer to my question, but didn't
find anything. I have the following config:
Win2003 Server w/ IIS 6 installed on C: partition
ISAPI PHP 4.3.4 installed on D: partition (D:\PHP)
MySQL installed on D: partition (D:\MySQL)
Website roots hosted on D: partition (D:\siteA , D:\siteB, etc.)
Everything seems to be working just fine (MySQL access, php code, etc)
except for logging. When I began learning PHP error messages where by
default displayed to the screen. With the current version(s), that option
is turned off and by un-commenting error_log = syslog, errors should be sent
to the Windows Event Log (right?). This would be great to me, except it
doesn't seem to be working. Also, according to what I have read I should be
able to put something like error_log = d:\phpErrs.txt and all php errors
would be sent to this file. This doesn't work either. The only thing that
works for me is error_log = phpErrs.txt, which creates a phpErrs.txt file in
each script directory that generates an error. Maybe this is proper
behavior, but it doesn't seem to be from what I have read. I also
configured the server w/ ISAPI PHP run from C:\PHP instead of my current
install of D:\PHP. This didn't make a difference.
Thanks for taking the time to read my post :)
Jeff
Here is the Error handling and logging section from my php.ini file (I have
turned on displaying errors - however, I have tested the above with this on
and off, both ways resulting the no log messages sent to a central spot or
the Windows Event Log):
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Error handling and logging ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; error_reporting is a bit-field. Or each number up to get desired error
; reporting level
; E_ALL - All errors and warnings
; E_ERROR - fatal run-time errors
; E_WARNING - run-time warnings (non-fatal errors)
; E_PARSE - compile-time parse errors
; E_NOTICE - run-time notices (these are warnings which often
result
; from a bug in your code, but it's possible that it was
; intentional (e.g., using an uninitialized variable and
; relying on the fact it's automatically initialized to
an
; empty string)
; E_CORE_ERROR - fatal errors that occur during PHP's initial startup
; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's
; initial startup
; E_COMPILE_ERROR - fatal compile-time errors
; E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
; E_USER_ERROR - user-generated error message
; E_USER_WARNING - user-generated warning message
; E_USER_NOTICE - user-generated notice message
;
; Examples:
;
; - Show all errors, except for notices
;
;error_reporting = E_ALL & ~E_NOTICE
;
; - Show only errors
;
;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
;
; - Show all errors
;
error_reporting = E_ALL
; Print out errors (as a part of the output). For production web sites,
; you're strongly encouraged to turn this feature off, and use error logging
; instead (see below). Keeping display_errors enabled on a production web
site
; may reveal security information to end users, such as file paths on your
Web
; server, your database schema or other information.
display_errors = on
; Even when display_errors is on, errors that occur during PHP's startup
; sequence are not displayed. It's strongly recommended to keep
; display_startup_errors off, except for when debugging.
display_startup_errors = on
; Log errors into a log file (server-specific log, stderr, or error_log
(below))
; As stated above, you're strongly advised to use error logging in place of
; error displaying on production web sites.
log_errors = on
; Set maximum length of log_errors. In error_log information about the
source is
; added. The default is 1024 and 0 allows to not apply any maximum length at
all.
log_errors_max_len = 1024
; Do not log repeated messages. Repeated errors must occur in same file on
same
; line until ignore_repeated_source is set true.
ignore_repeated_errors = Off
; Ignore source of message when ignoring repeated messages. When this
setting
; is On you will not log errors with repeated messages from different files
or
; sourcelines.
ignore_repeated_source = Off
; If this parameter is set to Off, then memory leaks will not be shown (on
; stdout or in the log). This has only effect in a debug compile, and if
; error reporting includes E_WARNING in the allowed list
report_memleaks = On
; Store the last error/warning message in $php_errormsg (boolean).
track_errors = Off
; Disable the inclusion of HTML tags in error messages.
;html_errors = Off
; If html_errors is set On PHP produces clickable error messages that direct
; to a page describing the error or function causing the error in detail.
; You can download a copy of the PHP manual from http://www.php.net/docs.php
; and change docref_root to the base URL of your local copy including the
; leading '/'. You must also specify the file extension being used including
; the dot.
;docref_root = "/phpmanual/"
;docref_ext = .html
; String to output before an error message.
;error_prepend_string = "<font color=ff0000>"
; String to output after an error message.
;error_append_string = "</font>"
; Log errors to specified file.
;error_log = D:\phpErrs.txt
; Log errors to syslog (Event Log on NT, not valid in Windows 95).
error_log = syslog
--- End Message ---
--- Begin Message ---
Hello ALL!
I tried to make a class in another class something like:
<?php
class A{
function a(){
echo "Hello from class A a subclass of ".$this->parent->var1;
}
}
class B{
function b(){
$this->var1="Class B";
$this->var2=new A();
}
}
$c=new b();
?>
In this script I use class A inside class B and I want to use
variable from B inside A.
I wanted: Hello from class A a subclass of Class B
But the result is: Hello from class A a subclass of
Is it possible something like: $this->parent->var1 or similar?
--
Best regards,
Alex
--- End Message ---