



|
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 |
sesamCXLV. SESAMIntroductionSESAM/SQL-Server est une base de données mainframe, développée par Fujitsu Siemens Computers, Allemagne. Elle fonctionne sur les serveurs mainframe, sous BS2000/OSD. Sur de nombreuses installation BS2000 en production, SESAM/SQL-Server a prouvé ...
Désormais, il existe une interface PHP pour SESAM, qui donne l'accès à cette base aux scripts PHP.
Configuration à l'exécutionLe comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
Notes sur la configurationIl n'y a pas de version exécutable indépendante pour l'interface PHP SESAM, et elle doit fonctionner en module Apache intégré. Dans le module PHP, l'interface SESAM est configurée avec des directives Apache. Tableau 1. Directives de configuration SESAM
En plus de la configuration de l'interface PHP/SESAM, vous devez configurer le serveur SESAM-Database lui-même, sur votre mainframe habituel. Cela signifie :
Pour connecter un script PHP au serveur de bases SESAM, les paramètres CNF et NAM de la configuration SESAM selectionnée doivent correspondre à l'id du gestionnaire de base démarré. Dans le cas des bases de données distribuées, vous devez démarrer un agent SESAM/SQL-DCN, avec la table de distribution incluant le nom de l'hôte et de la base de données. La communication entre PHP (fonctionnant sur le sous-système POSIX) et le gestionnaire de base (fonctionnant hors du sous-système POSIX) est réalisée par un pilote spécial appelé SQLSCI et le module de connexion SESAM, qui utilise la mémoire partagée. À cause de la mémoire partagée, et parce que PHP est une partie statique du serveur web, les accès à la base de données sont extrêmement rapides ; car ils ne requièrent pas de connexion distante via ODBC, JDBC ou UTM. Seul un chargeur de stub (stub loader, SESMOD) est compilé dans PHP. Les modules de connexion SESAM proviennent de la bibliothèque OML PLAM. Dans la configuration, vous devez indiquer à PHP le nom de la bibliothèque PALM, et le fichier de lien à utiliser pour la configuration de SESAM (En SESAM V3.0, SQLSCI est disponible dans la bibliothèque d'outils SESAM (SESAM Tool Library), qui fait partie de la distribution standard). Les commandes SQL imposent que les guillemets simples soient doublés pour être interprétés litéralement (contrairement à d'autres bases de données qui utilisent un guillemet simple, précédé d'un antislash), il est recommandé d'activer les directives PHP php3_magic_quotes_gpc et php3_magic_quotes_sybase. Considérations à l'exécutionÀ cause des limitations du modèle de processus BS2000, le pilote peut être chargé uniquement après que le serveur Apache ait généré le processus fils. Cela ralentit légèrement le traitement de la première requête, mais toutes les requêtes suivantes seront effecutées à pleine vitesse. Lorsque vous définissez explicitement le catalogue de messages SESAM, ce catalogue sera chargé à chaque fois que le pilote est chargé (i.e., au moment de la requête initiale). Le système d'exploitation BS2000 affiche un message après avoir correctement chargé le catalogue de messages, qui sera envoyé au fichier d'erreurs Apache. BS2000 ne permet pas la suppression de ce message, qui va remplir progressivement ce fichier. Assurez-vous que la bibliothèque SESAM OML PLAM et le fichier de configuration SESAM sont accessibles par l'utilisateur qui fait tourner le serveur web. Sinon, le serveur ne sera pas capable de charger le pilote, ou d'appeler les fonctions SESAM. L'accès à la base doit être donné à cet utilisateur. Sinon, les connexions SESAM échoueront. Types de curseursLes curseurs de résultats sont alloués pour les requêtes SQL de sélection ; ils peuvent être soit "séquentiels", soit "à défilement" ("scrollable"). Les curseurs à défilement sont beaucoup plus gourmands en mémoire, et le mode par défaut est séquentiel. Lorsque vous utilisez les curseurs à défilement, le curseur peut être positionné librement dans le résultat. Pour chaque requête à défilement, il existe des valeurs globales de types de défilement (initialisée à : SESAM_SEEK_NEXT) et la position peut être fixée une seule fois par sesam_seek_row() ou bien à chaque appel, avec la fonction sesam_fetch_row(). Lorsque vous lisez une ligne avec un curseur à défilement, le traitement suivant est effectué à partir des valeurs globales de type de défilement et de position : Tableau 2. Scrolled Cursor Post-Processing
PortageEn PHP, il est naturel de commencer les index à zéro (plutôt que 1), et quelques adaptations ont été faites pour l'interface SESAM : à chaque fois qu'un tableau indexé commence à l'index 1 en SESAM natif, l'interface PHP utilisera l'index 0 comme point de départ. Par exemple, lorsque vous lisez des données avec sesam_fetch_row(), la première colonne sera à l'index 0, et les suivantes suivront juqu'au nombre de colonnes (exclus) du résultat ($array["count"]). Lors du portage d'applications depuis d'autres langages évolués vers PHP, soyez attentifs à ce changement. À chaque fois que c'est nécessaire, la description d'une fonction PHP SESAM indique que l'index du tableau commence à 0. SécuritéLorsque vous autorisez l'accès à une base de données SESAM, le serveur web doit avoir le minimum de privilèges possible. Pour la plupart des bases de données, seul le droit de lecture doit être fourni. Suivant votre utilisation, ajoutez d'autres droits d'accès au fur et à mesure de vos besoins. Ne donnez jamais le contrôle total de vos bases à un utilisateur du web ! Limitez l'accès aux scripts PHP qui doivent administrer la base en utilisant un mot de passe et/ou une sécurisation SSL. Migration d'une autre base SQLDeux langages SQL ne sont jamais 100 % compatibles. Lorsque vous portez une application SQL depuis une autre interface vers SESAM, certaines adaptations doivent être faites. Les différences suivantes sont les plus courantes :
Notes sur l'utilisation de types SQL diversSESAM ne supporte pas le type BLOB. Une future version de SESAM devra le faire. L'interface PHP effectue automatiquement les conversions suivantes lors de la lecture de lignes de résultats SQL : Tableau 3. Conversion de type SQL vers PHP
Support des "champs multiples" de SESAMLa fonctionnalité spéciale des "champs multiples" de SESAM permet à une colonne de contenir un tableau de champs. Un tel "champs multiples" peut être créé comme ceci : Lors de la lecture d'une ligne, les "champs multiples" sont mis en colonnes. Dans l'exemple ci-dessus, "pkey" prend l'index 0, et les trois colonnes "multi(1..3)" sont accessibles depuis les index 1 à 3. Voir aussiPour de plus amples détails sur SESAM, reportez-vous à la documentation SESAM/SQL-Server en anglais ou SESAM/SQL-Server en allemand, disponibles toutes deux en ligne, ou en manuels.
|

