You're getting all of these errors because you have PHP set to display notice level errors. In a nut shell that means that if you use a variable without defining it first it'll throw a notice level error. That includes undefined array indices as well as undefined constants.
Have the error level set to E_ALL will include notice level errors. The benefits of this allows a more explicit execution of code and also has incredible benefits for the debugging process. PHP will tell you when you don't have a variable defined where you may want one defined.
You can get around these errors by writing your code more explicitly. By using basic constructs like isset() or empty().
Checks for a variable's existence without throwing a notice
http://www.php.net/isset
Checks for a variable's value without throwing a notice (there is a difference!) If true, empty checks for a false, null, zero or string zero value "0". If false it looks for the opposite. Whereas isset only looks for a variable's existence.
http://www.php.net/empty
This error:
[Tue Nov 18 11:08:04 2003] [error] PHP Notice: A session had already been started - ignoring session_start() in /Library/WebServer/Documents/wrox_site/_lib/_classes/class.session.php on line 68
You're getting because you are making a second call to session_start() somewhere in your script.
This error:
[Tue Nov 18 11:08:49 2003] [error] PHP Notice: Undefined index: id in /Library/WebServer/Documents/wrox_site/site/tpl_unsecure.php on line 10
Expects an array with associative indice "id" to already be set.
Also undefined offset will be the same thing but it will be talking about numeric indices.
And if you want to supress the notice level errors you can do so by changing the value of error_reporting in php.ini or at runtime with ini_set()
http://www.php.net/ini_set
Its helpful to have error reporting set to include notice level errors so I suggest getting accustomed to dealing with them with code rather than supressing them. Otherwise its not *really* going to hurt anything to supress them... that is unless the existence of the variable is crucial to the script's operation and supressing errors at that point would leave you in the dark.
You're getting these errors in a pear library?? That seems unusual to me. I would verify that you have all the necessary components. Perhaps you could let us know what library and how you are trying to use it with some code examples.
: )
Rich
:::::::::::::::::::::::::::::::::
Smiling Souls
http://www.smilingsouls.net
:::::::::::::::::::::::::::::::::