#1
  1. No Profile Picture
    Junior Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2003
    Posts
    6
    Rep Power
    0

    Installed PHP with IIS, but get a notice.


    Here is what I get when I load my first php site. After I installed php (instashield), did I need to give permissions to something else? If so please outline it simply. I searched on these forums but the closest I came to this was giving security permissions to my site folder to access php. Not sure how to do that in IIS. The security tab seemed to just reflect the username & password of the user accounts on my computer.

    Notice: Use of undefined constant HTTP_USER_AGENT - assumed 'HTTP_USER_AGENT' in D:\Web Site Server\mysitefolder\_lib\browserDetector.php on line 62

    Thanks for any help.
  2. #2
  3. learning to fly
    Devshed Newbie (0 - 499 posts)

    Join Date
    May 2003
    Location
    Caldwell, Idaho, USA
    Posts
    58
    Rep Power
    15
    PushPad,

    Your PHP install is working fine. What you're seeing is an error message telling you there is a problem in your browserDetector.php page. Post the code for the page if you want some more help; around line 62 (a few previous and after helps a lot).
  4. #3
  5. No Profile Picture
    Junior Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2003
    Posts
    6
    Rep Power
    0
    This website works fine on their business server with no notice code showing, but the client wants to see if I can host. Might be a stretch for me, but thanks for any help. Using WinXP IIS v 5.1 and PHP 4.3.2.2.

    Here are lines 53 to 76:

    '****************************************/
    class BrowserDetector
    { var $UA = "";
    var $BROWSER = "Unknown";
    var $PLATFORM = "Unknown";
    var $VERSION = "";
    var $MAJORVER = "";
    var $MINORVER = "";

    /* START CONSTRUCTOR */
    function BrowserDetector()
    { $this->UA = getenv(HTTP_USER_AGENT);
    $preparens = "";
    $parens = "";
    $postparens = "";
    $i = strpos($this->UA, "(");
    if ($i >= 0)
    { $preparens = trim(substr($this->UA,0,$i));
    $parensTMP = substr($this->UA,$i+1,strlen($this->UA));
    $j = strpos($parensTMP, ")");
    if($j>=0)
    { $parens = substr($parensTMP,0,$j);
    $postparens = trim(substr($parensTMP,$j+1,strlen($parensTMP)));
    }
  6. #4
  7. learning to fly
    Devshed Newbie (0 - 499 posts)

    Join Date
    May 2003
    Location
    Caldwell, Idaho, USA
    Posts
    58
    Rep Power
    15
    Your error notices are turned up way high in your php.ini file. What the notice is telling you that the call to getenv(HTTP_USER_AGENT) is not syntactically correct. PHP expects to see the HTTP_USER_AGENT in single quotes to denote it as a string. It is telling you it is assuming it is a string (assumed 'HTTP_USER_AGENT' ). Parameters without quotes are considered to be constants and it could find no definition for the constant of that name so it evaluated it as a string. Check your PHP docs and change your error notices setting in your php.ini file to stop seeing this notice.
  8. #5
  9. No Profile Picture
    Junior Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2003
    Posts
    6
    Rep Power
    0
    So what exactly would I change. Thanks for your help. Here is code from my ini file:

    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ; 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 except for notices
    ;
    error_reporting = E_ALL; display all errors, warnings and notices

    ; 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 = Off

    ; 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 = Off

    ; 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 = filename

    ; Log errors to syslog (Event Log on NT, not valid in Windows 95).
    ;error_log = syslog
  10. #6
  11. No Profile Picture
    Junior Member
    Devshed Newbie (0 - 499 posts)

    Join Date
    Jun 2003
    Posts
    6
    Rep Power
    0
    Figured it out. Thanks for your help.

    That masks the error notice. now I'll have to figure out how to fix the cause in the broswerdetect file.

    Thanks for the quick fix.

IMN logo majestic logo threadwatch logo seochat tools logo