๐ก Apache์ PHP oci8, Oracle DB ์ฐ๋์ CLI ํ๊ฒฝ์์๋ ์ ์์ ์ผ๋ก ๋์ํ์ง๋ง ์น ์ฌ์ดํธ์์๋ permission denied ์๋ฌ๊ฐ ๋ฐ์ํ์ ๋
โค๏ธ OS : Rocky Linux
โค๏ธ WAS : Apache
โค๏ธ DB : Oracle
โ ์ํฉ
Apache ์๋ฒ์ PHP oci8, OracleDB๋ฅผ ์ฐ๋ํ์ฌ php query๋ก ์์ฑ๋ ํ์ผ์ ์น ์ฌ์ดํธ์์ ์คํํด๋ณด๋ ค๊ณ ์๋ํ๋ค. ํ์ง๋ง CLI ํ๊ฒฝ์์๋ ์ ์์ ์ผ๋ก ์ ์ ๋์์์๋ ๋ถ๊ตฌํ๊ณ ์น ์ฌ์ดํธ์์ ์คํํ๋ฉด ์๋ฌ๋ฅผ ๋ฑ์๋ค.

BUT!!!

Basic query๋ php manual ์ฌ์ดํธ๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ๋ค.
<?php $conn = oci_connect('DB์ด๋ฆ', '๋น๋ฐ๋ฒํธ', '//localhost/์๋น์ค์ด๋ฆ'); if(!$conn) { $m = oci_error(); echo $m['message'], "\n"; exit; } else { print "Connected to Oracle!"; } // Close the Oracle connection oci_close($conn); ?>
โ ์์ธ
Oracle instant client๋ ์ฌ์ค์นํด๋ณด๊ณ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฉด์ผ๋ก ์์ธ์ ์ฐพ๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ค. ์์ฒญ ์ฝ์งํ ๊ฒฐ๊ณผ SELiux์ ๋ณด์ ์ค์ ๋ฌธ์ ๋๋ฌธ์ด์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค.
โโโ ์์ธํ ๋ด์ฉ์ ์๋ ์ฐธ๊ณ โโโ
CentOs7์ด๋ ์ค์ ์ด ๋น์ทํ Rocky Linux์๋ ๊ธฐ๋ณธ์ ์ผ๋ก SELinux ๊ฐ ํ์ฑํ๋์ด ์๋ค. ๋ฐ๋ผ์, ์ ํ๋ฆฌ์ผ์ด์ ์ค์น ๋ฐ ์ค์ ํ ๋ฌด์ธ๊ฐ ์ ๋๋ก ๋์ง ์๋๋ค๋ฉด ๋๋ถ๋ถ SELinux ์ค์ ๋๋ฌธ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
โ ํด๊ฒฐ ๋ฐฉ๋ฒ
getsebool -P httpd_can_network_connect on
http ํ๋ก์ธ์ค์์ ๋คํธ์ํฌ ์ฐ๊ฒฐ ํ์ฉ ์ฌ๋ถ๋ฅผ ON ํด์ฃผ๋ฉด ๋๋ค!
