How does one call stored procedures from PHP?

The following example creates a procedure with IN and OUT parameters. The procedure is then
executed and the results printed out.

<?php
  // Connect to database...
  $c=OCILogon("scott", "tiger", "orcl");
  if ( ! $c ) {
     echo "Unable to connect: " . var_dump( OCIError() );
     die();
  }

  // Create database procedure...
  $s = OCIParse($c, "create procedure proc1(p1 IN number, p2 OUT number) as " .
                    "begin" .
                    "  p2 := p1 + 10;" .
                    "end;");
  OCIExecute($s, OCI_DEFAULT);

  // Call database procedure...
  $in_var = 10;
  $s = OCIParse($c, "begin proc1(:bind1, :bind2); end;");
  OCIBindByName($s, ":bind1", $in_var);
  OCIBindByName($s, ":bind2", $out_var, 32); // 32 is the return length
  OCIExecute($s, OCI_DEFAULT);
  echo "Procedure returned value: " . $out_var;

  // Logoff from Oracle...
  OCILogoff($c);
?>