Oracle 8i | Oracle 9i | Oracle 10g | Oracle 11g | Oracle 12c | Miscellaneous | PL/SQL | SQL | Oracle RAC | Oracle Apps | Linux

PHP Installation on Oracle Application Server 10g (9.0.4)

This article lists the steps necessary to install and configure PHP with OCI support on AS10g running on Linux. The steps are a summary of the information in the Using PHP with OracleAS 10g document provided by Oracle.

  1. Download the current version of PHP from www.php.net and place it in an appropriate directory, like $ORACLE_BASE, then expand it using the following commands as the oracle software owner.

    cd $ORACLE_BASE
    gunzip php-4.3.9.tar.gz
    tar -xvf php-4.3.9.tar
  2. Download the ociheaders.tar file and place it in the "$ORACLE_HOME/rdbms/demo" directory, then expand it using the following command as the oracle software owner.

    cd $ORACLE_HOME/rdbms/demo
    tar -xvf ociheaders.tar
  3. Make sure the following environment variables are set by placing them in the oracle users profile.

    ORACLE_HOME=/u01/app/oracle/product/904_bi; export ORACLE_HOME
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
    PERL5LIB=$ORACLE_HOME/perl/lib/5.6.1:$ORACLE_HOME/perl/lib/site_perl/5.6.1; export PERL5LIB

    Adjust the ORACLE_HOME value as necessary.

  4. Edit the "$ORACLE_HOME/Apache/Apache/bin/apxs" file, giving a full path for the $CFG_INCLUDEDIR variable as below.

    # Before
    my $CFG_INCLUDEDIR    = q(/include);        # substituted via APACI install
    
    # After
    my $CFG_INCLUDEDIR    = q(/u01/app/oracle/product/904_bi/Apache/Apache/include);        # substituted via APACI install
  5. Configure and install PHP using the following commands as the oracle software owner.

    cd $ORACLE_BASE/php-4.3.9
    ./configure --with-apxs=$ORACLE_HOME/Apache/Apache/bin/apxs --prefix=$ORACLE_HOME 
     --with-config-file-path=$ORACLE_HOME/Apache/Apache/conf --with-oci8=$ORACLE_HOME --disable-rpath
    
    # Only do the following line if the previous command was successful.
    make install-sapi
  6. Copy the php.ini file to the appropriate directory using the following command.

    cp $ORACLE_BASE/php-4.3.9/php.ini-dist $ORACLE_HOME/Apache/Apache/conf/php.ini
  7. Uncomment the following two lines from the "$ORACLE_HOME/Apache/Apache/conf/httpd.conf" file.

    AddType application/x-httpd-php .php .phtml
    AddType application/x-httpd-php-source .phps
  8. Add the appropriate entries into the "$ORACLE_HOME/network/admin/tnsnames.ora" file for the database connections you wish to make.

  9. Restart the HTTP server using one of the following commands as the oracle software owner.

    dcmctl restart -ct ohs
    
    opmnctl restartproc ias-component=HTTP_Server

    Alternatively, the following commands allow you to stop then start the HTTP server.

    dcmctl stop -ct ohs
    dcmctl start -ct ohs
    
    opmnctl stopproc ias-component=HTTP_Server
    opmnctl startproc ias-component=HTTP_Server
    
  10. Test PHP by creating a file called "$ORACLE_HOME/Apache/Apache/htdocs/test.php" with the following contents.

    <?php
      phpinfo();
    ?>

    Loading this page in a browser using a URL like "http://server:port/test.php" should produce the PHP info page and list the OCI8 component as enabled.

  11. Test the OCI extensions by creating a file called "$ORACLE_HOME/Apache/Apache/htdocs/testOCI.php" with the following contents, adjusting the connection details as required.

    <?php
      $conn = OCILogon("scott", "tiger", "DEV");
      $sql  = OCIParse($conn, "select sysdate as current_date from dual");
      OCIExecute($sql, OCI_DEFAULT);
      if (OCIFetch($sql)) {
        echo "Current Date: ".OCIResult($sql, "CURRENT_DATE");
      }
      OCILogoff($conn);
    ?>

    Loading this page in a browser using a URL like "http://server:port/testOCI.php" should produce the current datetime from the Oracle server.

For more information see:

Hope this helps. Regards Tim...

Back to the Top.