Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
how-to:php-and-oracle-with-pdo-oci [2014/07/18 12:28] – Giuseppe Di Terlizzi | how-to:php-and-oracle-with-pdo-oci [2016/04/12 18:20] (current) – Giuseppe Di Terlizzi | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
{{http:// | {{http:// | ||
Line 10: | Line 10: | ||
- | ===== Compiliamo il driver PDO per Oracle ===== | + | ===== Compiliamo il driver PDO per DB Oracle ===== |
- | Scarichiamo dal sito php.net i sorgenti di PHP5 e copiamo il pacchetto nella directory ''/ | + | Scarichiamo dal sito php.net i sorgenti di PHP5 con la stessa versione in uso sul nostro sistema (nell' |
$ cp php-5.4.30.tar.xz /tmp | $ cp php-5.4.30.tar.xz /tmp | ||
Line 18: | Line 18: | ||
$ tar xvvf php-5.4.30.tar.xz | $ tar xvvf php-5.4.30.tar.xz | ||
- | Adesso spostiamoci nella directory contente i sorgenti del driver PDO per Oracle: | + | Adesso spostiamoci nella directory contente i sorgenti del driver PDO per DB Oracle: |
$ cd php-5.4.30/ | $ cd php-5.4.30/ | ||
| | ||
- | Lanciamo il comando '' | + | Lanciamo il comando '' |
$ phpize | $ phpize | ||
- | Adesso | + | Adesso |
Nel caso abbiamo settato la variabile '' | Nel caso abbiamo settato la variabile '' | ||
Line 32: | Line 32: | ||
$ ./configure --with-pdo-oci=$ORACLE_HOME | $ ./configure --with-pdo-oci=$ORACLE_HOME | ||
| | ||
- | Altrimenti specifichiamo il path dell'// | + | Altrimenti specifichiamo il path dell'// |
$ ./configure --with-pdo-oci=instantclient,/ | $ ./configure --with-pdo-oci=instantclient,/ | ||
- | Se non abbiamo avuto errori possiamo lanciare la compilazione: | + | Se non abbiamo avuto errori possiamo lanciare la compilazione |
$ make | $ make | ||
- | Al termine della compilazione avremo a disposizione il modulo compilato nella directory '' | + | Al termine della compilazione avremo a disposizione il modulo compilato nella directory '' |
# cp modules/ | # cp modules/ | ||
+ | |||
+ | <div round tip 90% center> | ||
+ | La posizione della directory dei moduli di PHP varia da distribuzione a distribuzione Linux. Per trovare quella in uso nella propria distribuzione Linux possiamo lanciare il seguente comando: | ||
+ | |||
+ | $ php-config --extension-dir | ||
+ | </ | ||
===== Configuriamo PHP5 ===== | ===== Configuriamo PHP5 ===== | ||
- | Prima di poter utilizzare nei nostri script PHP5 il driver OCI appena compilato, dobbiamo caricarlo. Da '' | + | Prima di poter utilizzare nei nostri script PHP5 il driver OCI appena compilato, dobbiamo caricarlo. Da '' |
- | | + | |
- | salviamo il file '' | + | salviamo il file '' |
# apachectl restart | # apachectl restart | ||
- | Adesso che abbiamo caricato il modulo vediamo se è stato caricato correttamente grazie alla nostra immancabile pagina // | + | <div tip round 90% center> |
+ | |||
+ | Il comando di stop & start di //Apache HTTP Server// può variare da distribuzione a distribuzione. Il modo più semplice è utilizzare il comando '' | ||
+ | |||
+ | **RedHat (e derivate)** | ||
+ | # service httpd restart | ||
+ | |||
+ | **Slackware Linux** | ||
+ | # sh / | ||
+ | |||
+ | **Debian (e derivate)** | ||
+ | # sh / | ||
+ | |||
+ | </ | ||
+ | |||
+ | Adesso che abbiamo caricato il modulo vediamo se è stato caricato correttamente grazie alla nostra immancabile pagina // | ||
+ | |||
+ | <file .php info.php> | ||
+ | <?php phpinfo(); | ||
+ | </ | ||
+ | |||
+ | <div tip round 90% center> | ||
+ | Possiamo vedere velocemente anche da riga di comando tutti i moduli installati lanciando il seguente comando: | ||
+ | |||
+ | $ php -m | ||
+ | </ | ||
+ | |||
+ | ===== Utilizziamo la classe PDO ===== | ||
+ | |||
+ | Adesso possiamo utilizzare la classe PDO per connettersi al nostro DB Oracle. | ||
+ | |||
+ | <code .php> | ||
+ | |||
+ | try { | ||
+ | |||
+ | // Se stiamo usando l' | ||
+ | // possiamo specificare l' | ||
+ | $PDO = new PDO(" | ||
+ | |||
+ | // Se stiamo usando l' | ||
+ | // specificare la macchina, porta e istanza Oracle | ||
+ | $PDO = new PDO(" | ||
+ | |||
+ | $dbh = $PDO-> | ||
+ | $sth = $dbh-> | ||
+ | |||
+ | if ($row = $sth-> | ||
+ | var_dump($row[" | ||
+ | } | ||
+ | |||
+ | } catch(PDOException $e) { | ||
+ | var_dump($e-> | ||
+ | } | ||
+ | |||
+ | </ | ||
- | ====== Utilizziamo PDO ===== | + | ===== Link utili ===== |
+ | * [[how-to: | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
{{tag> | {{tag> |