Why don't my PHP scripts run under my web server?

First, check the various PHP or Apache (or whatever web server you are using) forums and FAQs. In addition, here are a few tips specific to Apache > PHP.

  1. Did you build Apache with the PHP module?
  2. Make sure Apache knows what to do with a PHP script. You need to tell Apache in httpd.conf (or one of the other config files) that PHP files (.phtml, php3, php4, php5, php7, phps, and so on) should be passed to PHP. You do this with lines like these:
    AddType application/x-httpd-php5
    AddType application/x-httpd-php5 .phtml

    These lines tell Apache to pass files ending in .php5 and .phtml to PHP for processing.

  3. Check you can run a simple PHP script. Create a file called test.php5 in the htdocs directory of your web server containing:
    <html>
    <head>
    <title>Test</title>
    </head>
    <body>
    <p>
    You should get PHPinfo below:
    <?
    phpinfo();
    ?>
    </body>
    </html>
    

    Then go to the URL http://my_web_server/test.php5 (replace my_webserver with the appropriate machine and domain name) in your browser to find out if you get a page of PHP information back. If you don't, something far more serious is wrong with your Apache > PHP configuration than not being able to make ODBC connections from PHP through an ODBC driver.

If all the above is OK, you can try the following:

  1. Examine your Apache error log. This file is named in your Apache configuration file(s) (for example, httpd.conf) with the ErrorLog setting.
  2. Make sure you follow the instructions in the PHP INSTALL file and copy the sample PHP .ini file (for example, php5.ini-dist) to the correct location. Some options in this file can prove useful for debugging:
    1. track_errors = On stores the last error in the php_errormsg variable.
    2. error_reporting = 7 outputs normal errors, normal warnings, and parser errors.
    3. error_log = filename defines the file errors and warnings are sent to.

If PHP appears to be working, but you do not get data back through your Easysoft ODBC driver, refer to the instructions for turning on logging in the relevant Easysoft product documentation.