Linux+Apache+Oracle+php Centos7下環境搭建 安裝Oracle 用yum安裝Apache 安裝php php與oracle連線
因為學校課設的原因,在什麼伺服器都不懂的情況下,強行自己百度安裝LAOP,覺得網上教程太少,而且千篇一律很多都看不太懂,覺得人生太絕望了。寫一篇給小白用。我的Centos7是實體安裝的,虛擬機器應該也可以這樣安裝吧。
下面的順序是我安裝的順序,僅供參考。
一、安裝oracle 11g R2
1.安裝包可在oracle官網下載,需要註冊帳號(建議註冊,因為之後還是需要下載一些東西,放心是免費的)
2.具體的安裝過程我就不具體寫了,參考這篇文章,我是根據這篇文章進行安裝的,能安裝好。安裝過程中有其他的問題的話也能百度到。這篇文章非常棒,強烈安利。Oracle 安裝文章推薦
二、安裝Apache
我用的是centos7自帶的apache伺服器
1.yum命令進行安裝
#yum install httpd
#yum install httpd-tools
#yum install httpd-manual
2.啟動apache伺服器
#systemctl start httpd
3.開機自動啟動Apache
#systemctl enable httpd
4.配置ServerName
#vi /etc/httpd/conf/http.conf
沒有域名就新增 ServerName localhost:80或者ServerName 127.0.0.1:80
5.重啟Apache
#apachectl restart
6.Apache預設將網站的根目錄指向/var/www/html 目錄
預設的主配置檔案是/etc/httpd/conf/httpd.conf
配置儲存在的/etc/httpd/conf.d/目錄
7.等待更新中,因為這一塊還不是很熟悉,但是基本你開啟瀏覽器,輸入localhost就會有一個Testing 123的頁面,也不影響下面的安裝
三、安裝php
一開始我認為oracle11g已經很老了,oracle給的官方安裝php版本建議是5.4,誰知道我安了卻在後面安裝oci8外掛出現問題,讓我不得不解除安裝php5.4,重新安裝php7.如果您已經安了php7版本以下的,最好解除安裝了。
解除安裝方法如下(還沒安裝就解除安裝了哈哈哈哈)
#php -v //檢視php版本,確定是否是7版本以下
#rpm -qa | grep php //看有那些與php有關,然後依次解除安裝他們
//解除安裝格式如下
//rmp -e XXXXXXXXXXXXXXXX
//有些是有依賴關係的,所以請依次解除安裝
//舉個例子 先解除安裝process,再解除安裝common,(如果先後順序反了,會報錯提醒你)如下
#rpm -e php-process-5.4.16-45.el7.x86_64
#rpm -e php-common-5.4.16-45.el7.x86_64
好了。正式進入正確安裝的開啟方式
下載php-7.2.10.tar.gz(我當時的最新版本是這個,如果你的不是,就下最新版本的.tar.gz結尾的安裝包)
2.轉到你安裝包的位置,進行解壓
# tar -zxvf php-7.2.10.tar.gz
3.建立目標資料夾
# mkdir /usr/local/php
4.配置,你解壓之後會在安裝包所在位置多出一個資料夾,進入解壓後的資料夾(注意:不是上方的目標資料夾,而是名為php-7.2.10的資料夾)
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/bin/apxs
注意 :apxs的位置不一定都是/usr/bin/apxs,我的想法是建議大家輸入命令 #find / -name apxs 進行查詢路徑,找到之後對我的/usr/bin/apxs進行替換就好
5.編譯和測試編譯
# make
# make test
6.安裝
# make install
7.配置檔案
# cp /home/wcc/Downloads/php-7.2.10/php.ini-development /usr/local/php/lib/php.ini
注意:你們的php.ini-development在自己解壓後的資料夾中,所以第一個的路徑需要你們自己修改,也可以用 #find / -name php.ini-development 進行查詢路徑,找到之後對我的/home/wcc/Downloads/php-7.2.10/php.ini-development 進行替換就好
8.配置Apache支援php
#vi /etc/httpd/conf/httpd.conf
先檢查LoadModule php7_module /usr/lib64/httpd/modules/libphp7.so 是否有(這句話一般是自動就有了,反正我的是,在我印象中我沒加過,這句話在Listen下面)
在<IfModule mime_module></IfModule>之間加入以下三行
AddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps AddHandler application/x-httpd-php .php
退出儲存
重啟Apache --> # apachectl restart
9.測試php
#vi /var/www/html/phpinfo.php
輸入以下內容
<?php
phpinfo();
?>
在瀏覽器輸入 localhost/phpinfo.php
顯示如下資訊則為安裝成功
四、php與oracle的連線
1.下載basic、devel、sqlplus的Instant Client 程式包(因為oracle是11g的,所以一定要下載對應的)
2.以 root 使用者身份安裝 RPM
#rpm -Uvh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
#rpm -Uvh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
#rpm -Uvh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
3.用pecl安裝php的擴充套件非常方便,所以需要單獨安裝這個擴充套件
#yum install php-devel
#yum install php-pear
4.#pecl install oci8
執行之後會出現 Please provoid the path to the ORACLE_HOME dircetory....if you're compiling with oracle instant Client[autodetect]: 直接按回車鍵就好
5.#vim /usr/local/php/lib/php.ini
在Dynamic extensions 下找到對應的位置打入extension=oci8.so
在Paths and Directories 下找到對應的位置 填寫extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20170718/" (注意:這個路徑為oci8.so的位置,如果不知道在哪,就# find / -name oci8.so )
6.設定LD_LIBRARY_PATH
# vi /etc/profile
在這個檔案中輸入 export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64:$LD_LIBRARY_PATH
儲存並退出
# source /etc/profile
7.重啟Apache
# apachectl restart
8.驗證是否安裝了PHP OCI8擴充套件
在瀏覽器開啟 localhost/phpinfo.php 開啟之後往下翻會有OCI8的選項,其中顯示“OCI8 Support enabled”並列出可以配置的 OCI8 選項
9.應該要測試連線資料庫,過段時間試一下,我先去研究一下Apache
====================================================================================================