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) : " ")."</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이 설치되어 있고 활성화되어 있음을 보여주고 있습니다.
미리 감사드립니다. 도움을 주시기 바랍니다.
나는 putenv()를 사용하는 것을 강력히 권합니다. 그것은 과거에는 매우 문제가되었습니다. 대신 RH Linux의/etc/sysconfig/httpd와 같은 올바른 Apache 초기화 스크립트에 변수를 추가하십시오. 무료 PHP 및 Oracle 설명서를 읽어보십시오. http://www.oracle.com/technetwork/topics/php/underground-php-oracle-manual-098250.html –
Slackware를 사용 중이므로 다른 방법으로는 사용할 수 없습니다. –
계속 찾으십시오. 나는 그들이 아파치에서 기능을 제거한 것 같지 않다. –