>  기사  >  백엔드 개발  >  PHP를 사용하여 원격으로 Oracle에 연결하는 방법

PHP를 사용하여 원격으로 Oracle에 연결하는 방법

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼원래의
2019-08-21 17:30:424057검색

PHP를 사용하여 원격으로 Oracle에 연결하는 방법

1. 다음은 wampServer 기반의 PHP를 사용하여 oracle 데이터베이스에 액세스하는 단계입니다.

1단계: PHP가 OCI를 지원하도록 하기

먼저 PHP 통합 운영 환경을 설치합니다. 인터넷에는 많은 통합이 있습니다. WampServer를 설치했습니다(특정 설치 방법은 이전에 작성한 다른 기사를 참조할 수도 있습니다). 설치 디렉토리에서 php.ini 파일을 찾으십시오. 예를 들어, 내 로컬 경로는 다음과 같습니다. D:wampbinphpphp5.3.3 php.ini에서 php_oci8.dll을 제거합니다. 즉, 주석을 제거합니다. 이는 php_oci8을 사용하는 것과 동일합니다.

PHP를 사용하여 원격으로 Oracle에 연결하는 방법

관련 권장사항: "php tutorial"

2단계: wampserver가 실행된 후 php>php Extensions

에서 php_oci8을 확인하세요. phpStudy와 같은 다른 통합 환경도 가능합니다. PHP 확장 옵션에서 직접 해당 항목을 확인하세요].

PHP를 사용하여 원격으로 Oracle에 연결하는 방법

3단계: Oracle 데이터베이스 파일 구성

Oracle 클라이언트가 설치된 PC의 경우 Oracle에 구성 파일인 tnsnames.ora 파일을 설치할 수 있습니다. 이 파일 경로는 Oracle이 설치된 경로입니다. 로컬 머신 연결된 192.168.1.198 데이터베이스인

F:oracleproduct10.2.0client_1NETWORKADMIN 입니다. 구성 세부 정보는 다음과 같습니다(127.0.0.1이 표시되면 기본값은 이 머신입니다).

(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =  192.168.1.198)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)

4단계: 여부를 ​​확인하세요. oci8이 성공적으로 구성되었습니다

1. 일반적인 상황에서 localhost를 열면 PHP 정보가 포함된 phpinfo.php 인터페이스가 표시됩니다. "Ctrl+F"를 사용하여 "oci"를 검색하면 해당 oci 모듈이 있는지 확인할 수 있습니다. 물론, PHP 기본 사항이 있으면 작성한 파일에 직접 액세스할 수 있습니다. "echo phpinfo" ();"라는 내용이 들어있습니다.

2. 이 시점에서는 적어도 해당 정보를 찾을 수 없습니다. 인터넷에서 몇 가지 제안을 따르고 ext 디렉토리에 php_oci8.dll을 복사할 수 있습니다.

3. 마지막으로 서비스를 다시 시작하는 것이 좋습니다. 가급적이면 컴퓨터를 다시 시작하는 것이 좋습니다. (테스트 중에 서비스를 다시 시작해도 소용이 없다는 것을 알았습니다. 한번은 oci 확장 프로그램이 실수로 새로 고쳐졌기 때문에 작업 방법이 )

2. orcal 데이터베이스에 원격으로 연결하기 위한 코드 테스트 (성공률을 보장하기 위해 자신의 oracle 클라이언트를 사용하여 상대방 서버에 연결할 수 있는지 확인하는 것이 좋습니다)

<?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);
?>

(네티즌의 일부 지침 참조)

오라클 데이터베이스와 링크를 설정하는 두 가지 방법:

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)))");
2.$conn = oci_connect(&#39;username&#39;,&#39;password&#39;,&#39;192.168.1.198/orcl&#39;);

때때로 첫 번째 방법이 작동하지 않을 수 있으므로 두 번째 방법을 사용하세요. 매개변수는 사용자 이름, 비밀번호, oracle 서비스 주소입니다. 여기서 orcl은 서비스 이름입니다(그러나 내 컴퓨터에서는 후자에 액세스할 수 없습니다)

또한 간단한 테스트 코드가 제공됩니다. 더 편리한 연결 상황:

<!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>

요약 팁:

PHP를 Oracle 지원으로 만드세요. 아래 단계를 따르세요.

1 php 환경을 설치하고 appserv 또는 xampp를 찾아 설치하세요. 한 번의 클릭으로 매우 편리합니다.

2. php의 ext 디렉터리에 있는 php_oci8.dll을 system32 디렉터리에 복사합니다.

3. php.ini 파일에서 구성을 수정하고 ;extension = php_oci8.dll을 제거한 다음 앞의 세미콜론을 제거합니다.

4. 아파치를 다시 시작하세요.

참고:

1. 때로는 알아차리지 못한 실수가 많은 시간을 낭비할 수도 있다는 점을 상기시켜 드리고 싶습니다. Oracle의 서비스 모니터링을 켜십시오! !

2. 서버인 PC의 방화벽은 꼭 꺼주세요! !

3. Apache의 구성 파일도 마찬가지로 중요합니다. httpd.conf 파일을 수정하고 Deny——>Allow

<Directory />
     Options FollowSymLinks
     AllowOverride None
     Order deny,allow
 #    Deny from all
     Allow from all
 #允许所有访问
     Satisfy all
</Directory>
<Directory />
...
...
 #   Require local
 Options Indexes FollowSymLinks
 #   onlineoffline tag - don&#39;t remove
     Order Deny,Allow
     Allow from all
 #   Require local
</Directory>
를 수정하세요.

위 내용은 PHP를 사용하여 원격으로 Oracle에 연결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.