2017-01-18 1 views
1

Oracle Express 11g가 Slackware Linux에 설치되어 실행 중입니다. 나는 그것에 연결할 수 있고 쿼리를 실행할 수 있습니다. 아파치와 PHP를 설치하고 oci8을 설치했습니다. phpinfo()에 oci8이로드되어 활성화되었습니다. 다음의 간단한 PHP 스크립트에 대한 웹 페이지가 표시됩니다페이지가 아파치와 PHP 및 OCI8 및 Oracle Express 11g와 함께 표시되지 않음

<?php echo "Hello World!!!"; ?> 

가 그래서 PHP와 아파치에 노력하고 있습니다.

<html> 
<body> 
Oracle Version <br/> 
<?php 

$conn = oci_connect('SYSTEM', 'password', 'localhost/XE'); 

$stid = oci_parse($conn, 'select banner from v$version'); 
oci_execute($stid); 

echo "<table>\n"; 
while (($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) != false) { 
    echo "<tr>\n"; 
    foreach ($row as $item) { 
     echo " <td>".($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;")."</td>\n"; 
    } 
    echo "</tr>\n"; 
} 
echo "</table>\n"; 

?> 
</body> 
</html> 

이 웹 브라우저에서 소스보기에서 다음을 보여주고있다 : 이제 다음과 같은 간단한의 버전 오라클에 연결하여 보여 그러나

<html> 
<body> 
Oracle Version <br/> 
<table> 
</table> 
</body> 
</html> 

I에/usr으로 스크립트를 실행/빈은 올바르게 다음과 같은 출력 oratest.php/PHP :

이 가능하다 어떻게
<html> 
<body> 
Oracle Version <br/> 
<table> 
<tr> 
    <td>Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production</td> 
</tr> 
<tr> 
    <td>PL/SQL Release 11.2.0.2.0 - Production</td> 
</tr> 
<tr> 
    <td>CORE  11.2.0.2.0  Production</td> 
</tr> 
<tr> 
    <td>TNS for Linux: Version 11.2.0.2.0 - Production</td> 
</tr> 
<tr> 
    <td>NLSRTL Version 11.2.0.2.0 - Production</td> 
</tr> 
</table> 
</body> 
</html> 

. 왜 커맨드 라인 PHP 작업과 아파치는 동일한 PHP 스크립트를 제공하지 않습니다. phpinfo()는 oci8이 설치되어 있고 활성화되어 있음을 보여주고 있습니다.

미리 감사드립니다. 도움을 주시기 바랍니다.

답변

0

ORACLE_HOME 및 LD_LIBRARY_PATH가 oracle 인스턴트 클라이언트 및 oracle express 11g etc 설치 경로에 대해 올바르게 설정되지 않아서 오류가 발생했습니다. PHP 코드의 시작 부분에 putenv() PHP 지시문을 사용했는데 오류없이 작동했습니다.

putenv("ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe"); 
putenv("LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/xe/lib:/usr/lib64/oracle/12.1/client64/lib"); 
+0

나는 putenv()를 사용하는 것을 강력히 권합니다. 그것은 과거에는 매우 문제가되었습니다. 대신 RH Linux의/etc/sysconfig/httpd와 같은 올바른 Apache 초기화 스크립트에 변수를 추가하십시오. 무료 PHP 및 Oracle 설명서를 읽어보십시오. http://www.oracle.com/technetwork/topics/php/underground-php-oracle-manual-098250.html –

+0

Slackware를 사용 중이므로 다른 방법으로는 사용할 수 없습니다. –

+0

계속 찾으십시오. 나는 그들이 아파치에서 기능을 제거한 것 같지 않다. –

관련 문제