



|
Manuel PHP
|
|
Table : .Fonctions .NET.Fonctions Apache .Alternative PHP Cache .Débogueur avancé pour PHP .Tableaux .Aspell (Obsolète) .Nombres de grande taille BCMath .Compilateur bytecode pour PHP .Compression Bzip2 .Calendrier .Paiement CCVS (Obsolète) .Classes et Objets .Fonctions Classkit .Fonctions ClibPDF .COM et .Net (Windows) .Crack .Caractères .CURL .Paiement Cybercash .Fonctions Crédit Mutuel CyberMUT .Cyrus IMAP .Dates et heures .Fonctions DB++ .DBA .dBase .DBM (Obsolète) .Fonctions dbx .Direct IO .Accès aux dossiers .Fonctions DOM .Fonctions DOM XML .Fonctions enchant .Gestion des erreurs .EXIF .Fonctions Expect .Fonctions de monitorage d'altération de fichiers .Forms Data Format .Fonctions Fileinfo .Fonctions filePro .Système de fichiers .Fonctions Filter .Fonctions Firebird/InterBase .Fonctions Firebird/Interbase (PDO FIREBIRD) .Fonctions FriBiDi .FrontBase .Fonctions FTP .Fonctions .Fonctions GeoIP .Gettext (GNU) .Fonctions GMP .gnupg Fonctions .Net Gopher .Fonctions hash .HTTP .Hyperwave .Hyperwave API .Fonctions IBM (PDO IBM) .Fonctions IBM DB2, Cloudscape et Apache Derby .ICAP .Iconv .Fonctions ID3 .Fonctions d'administration d'IIS .Images .Image magick Functions .IMAP .Informix .Fonctions Informix (PDO INFORMIX) .Ingres II .IRC .Intégration de Java avec PHP .Fonctions JSON .KADM5 .LDAP .libxml .Lotus Notes .Fonctions LZF .Traitement d'email .Mathématiques .MaxDB PHP Extension .MCAL .chiffrement mcrypt .Fonctions de paiement MCVE (Monetra) .Fonctions Memcache .Hash .Fonctions Mimetype .Ming pour Flash .Fonctions diverses .mnoGoSearch .Microsoft SQL Server .Microsoft SQL Server et Fonctions Sybase (PDO DBLIB) .Sessions Mohawk .mSQL .Chaînes de caractères multi-octets .Fonctions muscat .MySQL .Fonctions MySQL (PDO MYSQL) .Extension MySQL améliorée .Fonctions de contrôle d'écran de terminal .Réseau .Fonctions Newt .Netscape Server API .agrégation d'objets/Composition de fonctions .Overload .Fonctions Oracle .Fonctions ODBC (unifiés) .Fonctions ODBC et DB2 (PDO ODBC) .oggvorbis .Gestion Audio OpenAL .OpenSSL .Oracle (Obsolète) .Fonctions Oracle (PDO OCI) .Bufferisation de sortie .Ovrimos SQL .Accès aux fichiers Paradox .Fonctions Parsekit .Contrôle des processus .Expressions rationnelles compatibles Perl .Fonctions PDF .Fonctions PDO .Phar archive stream and classes .Options PHP et informations .Fonctions POSIX .Expressions rationnelles .PostgreSQL .Fonctions PostgreSQL (PDO PGSQL) .Impression .Exécution de programmes externes .Création de document PostScript .Pspell .qtdom .Radius .Rar .Readline (GNU) .Recode (GNU) .Fonctions Lecture d'En-tête RPM .Fonctions runkit .SAM - Messagerie asynchrone .Extension client Satellite CORBA (Obsolète) .SCA Functions .Fonctions SDO .Fonctions de Service d'Accès de Données SDO XML .Fonctions SDO Relationnel Service d'Accès de Données .Sémaphores et gestion de la mémoire partagée .SESAM .Sauvegarde d'Identifiant de session PostgreSQL .Sessions .Mémoire partagée .Fonctions SimpleXML .Fonctions SNMP .Fonctions SOAP .Sockets .Fonctions Standard PHP Library (SPL) .Fonctions SQLite .Fonctions SQLite (PDO SQLITE) .Shell2 sécurisé .Fonctions statistics .Flux .Chaînes de caractères (Strings) .Shockwave Flash .Sybase .Fonctions TCP Wrappers .Tidy .Analyseur de code PHP .Unicode Functions .URL .Fonctions de gestion des variables .Paiement par Verisign .vpopmail .API windows .WDDX .Fonctions win32ps .Fonctions win32service .Fonctions xattr .Fonctions xdiff .Analyseur syntaxique XML .XML-RPC .XMLReader functions .Fonctions XMLWriter .XSL .XSLT .YAZ .NIS .Fonctions ZIP .Compression Zlib |
oci8CV. Fonctions OracleIntroductionCes fonctions vous permettront d'accéder aux serveurs Oracle10, Oracle9, Ocracle 8 et Oracle7 en utilisant l'interface Oracle Call-Interface (OCI). Elle supporte le liage de variables PHP avec des marqueurs Oracle, a un support complet des LOB, FILE et ROWID, et vous permet d'utiliser des variables définies fournies par l'utilisateur. Pré-requisVous avez besoin des bibliothèques Oracles pour utiliser cette extension. Les utilisateur Windows doivent les bibliothèques de version 10 ou supérieure pour se servir de la bibliothèque php_oci8.dll. La meilleure façon d'installer tous les fichiers nécessaires est d'utiliser le client Oracle Instant, qui est disponible depuis : http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html. Pour fonctionner avec OCI8, le module OCI8 "basic" du client Oracle Instant est suffisant. Le client Instant n'a pas besoin que les variables d'environnement ORACLE_SID ou ORACLE_HOME soient définies.Par contre, vous devez toujours définir les variables LD_LIBRARY_PATH et NLS_LANG. Avant d'utiliser cette extension, assurez-vous que vous avez bien paramétré vos variables d'environnement Oracle, ainsi que votre démon utilisateur. Ces variables doivent être définies avant de démarrer votre serveur web. Les variables dont vous pouvez avoir besoin sont :
Après avoir configuré ces variables pour votre utilisateur "serveur web", assurez-vous aussi d'ajouter cet utilisateur (nobody, www) au groupe Oracle.
Notez bien que sur certains systèmes comme UnixWare il faut utiliser libthread au lieu de libpthread. PHP et Apache doivent alors être configurés avec EXTRA_LIBS=-lthread. Configuration à l'exécutionLe comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
Tableau 1. Options de configuration
Voici un éclaircissement sur l'utilisation des directives de configuration.
Constantes pré-définiesCes constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.
Exemples
Vous pouvez facilement accéder aux procédures stockées, de la même façon que vous le feriez par ligne de commande :
Gestion de la connexionL'extension oci8 fournit 3 fonctions différentes pour se connecter à Oracle. Il vous appartient d'utiliser la fonction la plus appropriée pour votre application ; les informations contenues dans cette section vont vous aider à faire le bon choix. La connexion à un serveur Oracle est une opération résonnablement couteuse en terme de temps que cela prend. La fonction oci_pconnect() utilise un cache persistent de connexion qui peut être réutilisé à travers différents scripts. Cela signifie qu'une seule connexion sera utilisée par processus PHP (ou enfant Apache). Si votre application se connecte à Oracle en utilisant un jeu différent de crédance pour chaque utilisateur web, le cache persistent utilisé par la fonction oci_pconnect() devient moins approprié car l'augmentation du nombre concurrent d'utilisateurs va affecté les performances de votre serveur Oracle, car il devra maintenir trop de connexions en cache. Si votre application est de ce type, il est recommandé d'optimiser votre application en utilisant les options de configuration oci8.max_persistent et oci8.persistent_timeout (elles vous donnent le contrôle sur la taille et la durée de vie du cache de connexions persistentes) ou utilisez oci_connect() à la place. Les fonctions oci_connect() et oci_pconnect() employent un cache de connexion ; si vous faites des appels multiples à oci_connect(), en utilisant les mêmes paramètres dans un script donné, le second appel ainsi que les suivants retourneront le gestionnaire de connexion existant. Le cache utilisé par la fonction oci_connect() est nettoyé à la fin de l'exécution du script ou lorsque vous fermez explicitement le gestionnaire de connexion. oci_pconnect() a un comportement sensiblement identique, à la différence que le cache est maintenu séparemment et est conservé entre les requêtes. Il est important de se souvenir de cette fonctionnalité de cache, car il donne l'apparence que les deux gestionnaires ne sont pas isolés transactionnellement (ils sont en faite le même gestionnaire de connexion, ils ne sont donc absolument pas isolés). Si votre connexion a besoin de deux connexions séparées, isolées transactionnellement, vous devez utiliser la fonction oci_new_connect(). oci_new_connect() crée toujours une nouvelle connexion au serveur Oracle, indépendamment de l'existante d'autres connexions. Les applications web à fort trafic doivent éviter d'utiliser oci_new_connect(), particulièrement dans les sections les plus chargées de l'application. Types de données supportées par le driverTableau 2. Le driver supporte les types suivants lors du liage de paramètres en utilisant la fonction oci_bind_by_name() :
Tableau 3. Les types suivants sont supportés lors de la récupération de colonnes depuis un jeu de résultats :
|

