Maison >développement back-end >tutoriel php >Comment se connecter à Oracle à distance avec php
1 Voici les étapes pour accéder à la base de données Oracle en utilisant php basé sur wampServer :
Étape 1. : Laissez PHP prendre en charge OCI
Tout d'abord, installez l'environnement d'exploitation intégré de PHP. Il existe de nombreuses intégrations sur Internet. J'ai installé WampServer (pour la méthode d'installation spécifique, vous pouvez également vous référer à une autre. article écrit auparavant). Installer Après cela, recherchez le fichier php.ini dans le répertoire d'installation. Par exemple, mon chemin local est D:wampbinphpphp5.3.3. Supprimez le ";" de php_oci8.dll dans php.ini. supprimez les commentaires, ce qui équivaut à utiliser php_oci8 .
Recommandations associées : "Tutoriel php"
Étape 2 : Ensuite, après avoir exécuté wampserver, modifiez php>php In extensions, cochez php_oci8
[D'autres environnements intégrés sont également possibles, comme phpStudy, on peut directement cocher ceux correspondants depuis les options de l'extension php].
Étape 3 : Configuration du fichier de base de données Oracle
Pour les PC sur lesquels le client Oracle est installé, vous pouvez installer le fichier de configuration, le fichier tnsnames.ora dans Oracle, ce Le chemin du fichier est le chemin où Oracle est installé. Par exemple, ma machine locale est
F:oracleproduct10.2.0client_1NETWORKADMIN et la base de données 192.168.1.198 connectée. Les détails de configuration sont les suivants (s'il s'affiche. 127.0.0.1 La machine locale par défaut) :
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.198)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) )
Étape 4 : Vérifiez si oci8 est configuré avec succès
1 Dans des circonstances normales, l'ouverture de localhost affichera l'interface phpinfo.php, qui contient des informations php. Vous pouvez utiliser "Ctrl+F" pour rechercher "oci" pour voir s'il existe un module oci correspondant. Bien sûr, si vous avez quelques bases de PHP, vous pouvez accéder directement aux fichiers que vous avez écrits. N'oubliez pas d'ajouter "echo phpinfo". ();" dedans.
2. Ne soyez pas trop content. À ce stade, au moins je ne trouve pas les informations correspondantes. Pour le moment, vous pouvez suivre quelques suggestions sur Internet et mettre php_oci8 dans le fichier. ext de php. Copiez la dll dans le répertoire system32
3. Enfin, il est recommandé de redémarrer le service, de préférence l'ordinateur (j'ai constaté lors des tests que redémarrer le service ne sert à rien. Une fois, l'extension oci a été accidentellement rafraîchie. Donc si la méthode de fonctionnement est correcte, je recommande de redémarrer)
2. Code pour tester la connexion à distance à la base de données orcal (il est recommandé d'utiliser votre propre client oracle. pour essayer si vous pouvez vous connecter au serveur de l'autre partie pour assurer le taux de réussite de l'opération)
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2015/12/7 * Time: 16:25 */ echo 'ff'; //进行连接数据库的参数配置 $dbstr ="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.11.198)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) (INSTANCE_NAME = orcl)))"; //phpinfo(); $conn = oci_connect('scott','tiger',$dbstr);//如果去掉最后一个参数或者为“ ”,默认连接本机 $stmt = oci_parse($conn, "select * from mono"); oci_execute($stmt); $nrows = oci_fetch_all($stmt, $results); if ($nrows > 0) { echo "<table border=\"1\">\n"; echo "<tr>\n"; foreach ($results as $key => $val) { echo "<th>$key</th>\n"; } echo "</tr>\n"; for ($i = 0; $i < $nrows; $i++) { echo "<tr>\n"; foreach ($results as $data) { echo "<td>$data[$i]</td>\n"; } echo "</tr>\n"; } echo "</table>\n"; } else { echo "No data found<br />\n"; } echo " $nrows Records Selected<br />\n"; oci_free_statement($stmt); oci_close($conn); ?>
(se référer à quelques instructions des internautes)
Deux façons de établissez un lien avec la base de données Oracle :
1.$conn = oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=192.168.1.198)(PORT = 1521)) (CONNECT_DATA =(SID=orcl)))");rrree
Parfois, la première méthode ne fonctionne pas, utilisez donc la seconde. Les paramètres sont le nom d'utilisateur, le mot de passe et l'adresse du service Oracle, où orcl est le. nom du service (mais sur ma machine, ce dernier n'est pas accessible)
De plus, un simple code de test est fourni Relativement parlant, il ne teste que la situation de connexion, ce qui est plus pratique :
2.$conn = oci_connect('username','password','192.168.1.198/orcl');<.>
Conseils récapitulatifs :
Vous permet de prendre en charge PHP Oracle, suivez simplement les étapes suivantes :Remarque :
1. Parfois, une erreur que vous ne remarquez pas vous fera perdre beaucoup de temps, je voudrais également vous le rappeler, n'oubliez pas. Activez la surveillance des services d'Oracle ! ! 2. N'oubliez pas de désactiver le pare-feu sur le PC en tant que serveur ! ! 3. Le fichier de configuration d'Apache est tout aussi important. Modifiez le fichier httpd.conf, Deny——>Allow<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>php语句结束符</title> </head> <body> <?php $dbstr ="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.11.102)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) (INSTANCE_NAME = orcl)))"; $dbconn=oci_connect('scott','tiger',$dbstr); if($dbconn!=false) { echo "连接成功".'<br/>'; if(OCILogOff($dbconn)==true) { echo "关闭连接成功!".'<br/>';// } } else { echo "连接失败".'<br/>'; } ?> </body> </html>.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!