PHP est un langage de script à usage général largement utilisé, particulièrement adapté au développement Web et pouvant être intégré au HTML. PHP fonctionne sur tous les principaux systèmes d'exploitation, des variantes Unix, y compris Linux, FreeBSD, Ubuntu, Debian et Solaris à Windows et Mac OS X. Il peut être utilisé avec tous les principaux serveurs Web, y compris Apache, Nginx, les serveurs OpenBSD pour n'en nommer que quelques-uns.; même les environnements cloud comme Azure et Amazon sont en plein essor.
Vous trouverez ci-dessous quelques-unes des façons dont un script PHP peut être testé.
Tester un script PHP simple
1. Créez un fichier avec le contenu suivant. Donnez au fichier un nom tel que myphpInfo.php :
<?php phpinfo(); ?>
2. Copiez le fichier dans le répertoire DocumentRoot de votre serveur Web, par exemple – /var/www/html. Vous pouvez avoir un répertoire DocumentRoot différent selon le serveur Web que vous utilisez et la configuration effectuée pour celui-ci.
3. Modifiez les autorisations en 755 (Linux uniquement) :
# chmod 755 myphpInfo.php
4. Appelez le fichier depuis un navigateur :
http://Fully-Qualified-Hostname:PORT#/phpinfo.php
Tester un script PHP qui utilise les connexions à la base de données
1. Créez un fichier avec le contenu suivant. Donnez au fichier un nom tel que phpdbchk.php :
<html> <head> <title>PHP Database Connection Test</title> </head> <body> <?php $username = 'scott'; $password = 'password'; $database_hostname = 'host.domain'; $database_port = 'port'; $database_sid = 'sid'; $database_srvc = 'servicename'; $easy_connect_syntax = '//'.$database_hostname.':'.$database_port.'/'.$database_srvc; // If Oracle 10g libraries are used by PHP try the new Easy Connect syntax. // No long connection string is needed. No tnsnames.ora file is required. // This does not work with standalone HTTP Server installations // $conn = OCILogon($username, $password, $easy_connect_syntax); // Use this line if TNS is setup properly in $ORACLE_HOME/network/admin $conn = OCILogon($username, $password, $database_sid); if (!$conn) { $e = ocierror(); print htmlentities($e['message']); exit; } $query = 'SELECT SYSDATE FROM DUAL'; $stmt = ociparse($conn, $query); ociexecute($stmt, OCI_DEFAULT); print 'Checking for the Date and Database Connectivity<br>'; $success = 0; while (ocifetch($stmt)) { print "Date: " . ociresult($stmt, "SYSDATE") . "<br>\n"; $success = 1; } if ($success) { print 'Success.<p>'; } else { print 'Failed to retrieve the date.<p>\n'; } OCILogoff($conn); print 'PHP Configuration<br>'; print '======================<p>'; phpinfo(); ?> </body> </html>
2. Définissez ORACLE_HOME et TNS_ADMIN sur les valeurs appropriées.
3. Copiez le fichier dans le répertoire DocumentRoot.
4. Modifiez les variables $username, $password, $database_hostname, $database_port, $database_sid et $database_srvc selon les besoins du système de test
5. Modifiez les autorisations en 755 (Linux uniquement) :
chmod 755 phpdbchk.php
6. Appelez le fichier depuis un navigateur :
http://Fully-Qualified-Hostname:PORT#/phpdbchk.php
L'erreur suivante se produit si ORACLE_HOME\network\admin\tnsnames.ora n'est pas configuré correctement ou est manquant. S'il manque, celui de la base de données peut être copié et utilisé tel quel.
Warning: ocilogon(): _oci_open_server: ORA-12560: TNS:protocol adapter error in [oracle_home]\apache\apache\htdocs\phpdbchk.php on line 25 ORA-12560: TNS:protocol adapter error
Exécuter le script PHP dans un autre répertoire en dehors de htdocs
Par exemple, si vous souhaitez placer des scripts php dans $ORACLE_HOME/Apache/Apache/phpsrc et les exécuter à partir de là via un navigateur, par exemple http:FQHN:[port]/php/info.php, procédez comme suit :
1. créez le répertoire $ORACLE_HOME/Apache/Apache/phpsrc
2. Copiez le script info.php dans $ORACLE_HOME/Apache/Apache/phpsrc
3. Modifiez httpd.conf et ajoutez cette ligne :
Alias /php/ $ORACLE_HOME/Apache/Apache/phpsrc
4. Redémarrez le serveur http et maintenant cela devrait fonctionner :
http:FQHN:[port]/php/info.phpRemarque :Le script php info.php a été utilisé comme exemple, vous pouvez utiliser n'importe quel nom pour vos scripts php