Maison  >  Article  >  développement back-end  >  Comment se connecter à Oracle à distance avec php

Comment se connecter à Oracle à distance avec php

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-08-21 17:30:423991parcourir

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 .

Comment se connecter à Oracle à distance avec php

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].

Comment se connecter à Oracle à distance avec 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 &#39;ff&#39;;
//进行连接数据库的参数配置
$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(&#39;scott&#39;,&#39;tiger&#39;,$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(&#39;username&#39;,&#39;password&#39;,"(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(&#39;username&#39;,&#39;password&#39;,&#39;192.168.1.198/orcl&#39;);
<.>

Conseils récapitulatifs :

Vous permet de prendre en charge PHP Oracle, suivez simplement les étapes suivantes :


1 Pour installer l'environnement PHP, recherchez appserv. ou xampp, et installez-le en un clic, ce qui est très pratique.


2. Copiez php_oci8.dll du répertoire ext de php vers le répertoire system32.


3. Modifiez la configuration dans le fichier php.ini, supprimez ;extention = php_oci8.dll et supprimez le point-virgule précédent.


4. Redémarrez Apache.


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(&#39;scott&#39;,&#39;tiger&#39;,$dbstr);
if($dbconn!=false)
{
    echo "连接成功".&#39;<br/>&#39;;
    if(OCILogOff($dbconn)==true)
    {
        echo "关闭连接成功!".&#39;<br/>&#39;;//
    }
}
else
{
    echo "连接失败".&#39;<br/>&#39;;
}
?>
</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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn