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 ---

Reply via email to