|
ORACLE 與 PHP 的結合設定解決 ORA 12154的錯誤 |
||
| 各位在安裝 PHP TO ORACLE
的時候,會不會出現
ORA 12154 的錯誤呢?請看下面的設定吧。 |
||
| 1.ORACLE安裝 | ORACLE 安裝請先看我前一篇的安裝說明、記得要設定好ORACLE_HOME、ORACLE_SID | |
| 2.設定APACHE | 不必重新安裝APACHE、但是記得要把啟動的使用者、設定成ORACLE的安裝者(ex:
ORACLE)
群組也要設定好(ex:oinstall)然後不用急著重新啟動APACHE |
|
| 3.重新安裝PHP | RPM: 請到這邊 http://rpms.arvin.dk/php/rh72/i586/ 去安裝你要的套件 TAR: |
|
| 4.重新啟動APACHE | 記得安裝好PHP以後要重新啟動PHP。確定你第二項有設定好。 | |
| 5.察看SID | 可以察看 /etc/oratab 裡面的資料、那就是你安裝的ORACLE_SID | |
| 6.PHP for ORACLE 測試程式碼 | <?php print "<HTML><PRE>"; $db = "填上你的SID"; $c1 = ocilogon("system","manager",$db); $c2 = ocilogon("scott","tiger",$db); function create_table($conn) { $stmt = ociparse($conn,"create table scott.hallo (test varchar2(64))"); ociexecute($stmt); echo $conn." created table\n\n"; } function drop_table($conn) { $stmt = ociparse($conn,"drop table scott.hallo"); ociexecute($stmt); echo $conn." dropped table\n\n"; } function insert_data($conn) { $time = date("H:i:s A"); $stmt = ociparse($conn,"insert into scott.hallo values('===許 $time 功==')"); ociexecute($stmt,OCI_DEFAULT); echo $conn." inserted hallo\n\n"; } function delete_data($conn) { $stmt = ociparse($conn,"delete from scott.hallo"); ociexecute($stmt,OCI_DEFAULT); echo $conn." deleted hallo\n\n"; } function commit($conn) { ocicommit($conn); echo $conn." committed\n\n"; } function rollback($conn) { ocirollback($conn); echo $conn." rollback\n\n"; } function select_data($conn) { $stmt = ociparse($conn,"select * from scott.hallo"); ociexecute($stmt,OCI_DEFAULT); echo $conn."----selecting\n\n"; while (ocifetch($stmt)) echo $conn." <".ociresult($stmt,"TEST").">\n\n"; echo $conn."----done\n\n"; } create_table($c1); insert_data($c1); // Insert a row using c1 insert_data($c2); // Insert a row using c2 select_data($c1); // Results of both inserts are returned select_data($c2); rollback($c1); // Rollback using c1 select_data($c1); // Both inserts have been rolled back select_data($c2); insert_data($c2); // Insert a row using c2 commit($c2); // commit using c2 select_data($c1); // result of c2 insert is returned delete_data($c1); // delete all rows in table using c1 select_data($c1); // no rows returned select_data($c2); // no rows returned commit($c1); // commit using c1 select_data($c1); // no rows returned select_data($c2); // no rows returned drop_table($c1); print "</PRE></HTML>"; ?> |
|
|
That's ALL~~~~ |
||