PHP基於HTTPD模組的方式跟MYSQL串連

來源:互聯網
上載者:User

標籤:php   linux   伺服器   server   二進位   

實驗環境:

    1.VMware

    2.兩台linux子機

    3.橋接,本機當客戶機

 

實驗目的:

    1.編譯HTTPD和編譯PHP、編譯MYSQL,熟悉編譯過程和原理

    2.HTTPD和PHP在同一台伺服器上,PHP作為HTTPD的模組來與MYSQL建立串連

 

實驗拓撲:

        650) this.width=650;" title="[4@]~5`1`C8E{1Q(M%5P$W3.jpg " alt="wKioL1P2DRbypisiAABre0erW90597.jpg" src="http://s3.51cto.com/wyfs02/M02/47/11/wKioL1P2DRbypisiAABre0erW90597.jpg" />

 

    二進位格式安裝mysql

    1.安裝包組和依賴所用到的包

#yum install pcre-devel#yum groupinstall ‘development tools’#yum groupinstall ‘desktop platform development’#yum groupinstall ‘server platform development’

 

    2.編譯安裝apr和編譯安裝apr-util

#tar xf apr-1.5.0.tar.bz2#cd apr-1.5.0#./configure --prefix=/usr/local/apr  //安裝路徑#make && make install #tar xf apr-util-1.5.3.tar.bz2#cd apr-util-1.5.3#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr#make && make install

 

    3. 建立使用者以安全方式運行進程

#useradd mysql -r -s /sbin/nologin mysql

 

    4.配置mysql,二進位格式的mysql包是解壓出來只要配置一下就可以用的

#mkdir /mydata/data   //建立資料目錄#chown mysql:mysql /mydata/data#cd /usr/local#tar xf mariadb-5.5.36-linux-x86_64.tar.gz#ln –sv mariadb-5.5.36-linux-x86_64.tar.gz mysql#cd mysql#chown –R root:mysql ./*#mkdir /etc/mysql#cp support-files/my-large.cnf  /etc/mysql/my.cnf#vim my.cnf

    在下面添加一行資料目錄的路徑

        650) this.width=650;" title="8F69%V`)1OQ%43LDAGNJ[6D.jpg " alt="wKiom1P2EiujOo1tAAHHSiZSuAE435.jpg" src="http://s3.51cto.com/wyfs02/M01/47/0F/wKiom1P2EiujOo1tAAHHSiZSuAE435.jpg" />

#cd /usr/local/mysql/#scripts/mysql_install_db  --user=mysql --datadir=/mydata/data//初始化mysql

 

    5.提供服務開機檔案

#cd /usr/local/mysql#cp support-files/mysql.server /etc/rc.d/init.d/mysqld#chmod +x /etc/rc.d/init.d/mysqld#chkconfig --add mysqld#service mysqld start

        650) this.width=650;" title="ECUQ(`]5TL}XFZF}E}JO_KD.jpg " alt="wKioL1P2FRKAg1f4AAA-sR3at5g524.jpg" src="http://s3.51cto.com/wyfs02/M00/47/11/wKioL1P2FRKAg1f4AAA-sR3at5g524.jpg" />

 

    6.加入環境變數,否則服務啟用mysql命令

#vim /etc/profile.d/mysql.sh

        650) this.width=650;" title="{0AKUIZ%8PZB]6QCRZ9}K7N.jpg" alt="wKiom1P2FIXh6KCPAABESlGTuD4673.jpg" src="http://s3.51cto.com/wyfs02/M01/47/0F/wKiom1P2FIXh6KCPAABESlGTuD4673.jpg" />

    這樣就能用mysql命令進入資料庫了

 

    7.匯出man手冊

#vim /etc/man.config

         650) this.width=650;" title="UZS7H%VBU2OCJEY)GF[~O2E.jpg" alt="wKioL1P2FtOAPfLHAAC8w0xf6PU276.jpg" src="http://s3.51cto.com/wyfs02/M02/47/11/wKioL1P2FtOAPfLHAAC8w0xf6PU276.jpg" />

    到這裡,mysql就配置完成了,重新啟動,mysql就監聽在3306連接埠了

 

 

編譯安裝php

    1.安裝包組和依賴所用到的包

#yum install pcre-devel#yum groupinstall ‘development tools’#yum groupinstall ‘desktop platform development’#yum groupinstall ‘server platform development’

 

    2.編譯安裝apr和編譯安裝apr-util

#tar xf apr-1.5.0.tar.bz2#cd apr-1.5.0#./configure --prefix=/usr/local/apr#make && make install #tar xf apr-util-1.5.3.tar.bz2#cd apr-util-1.5.3#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr#make && make install

 

    3.安裝php

#./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl--enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/httpd/bin/apxs --with-mcrypt=/usr/local/libmcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 -enable-maintainer-zts

    代碼詳解:

--prefix=/usr/local/php:設定安裝路徑--with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd:因為php跟mysql不在同一台伺服器上,所以這裡要這樣做--with-openssl:編譯支援openssl支援--enable-mbstring:支援多位元組字串,如果想支援中文,這個是必須啟用的--with-freetype-dir:字型處理工具,要實現字型的功能,要把這個裝上--with-jpeg-dir:能夠直接產生jpeg圖片--with-png-dir:png圖片--with-zlib:支援壓縮庫--with-libxml-dir=/usr:指定xml的庫檔案路徑--enable-xml:啟用xml功能--enable-sockets:允許php基於sockets方式進行通訊--with-apxs2=/usr/local/apache/bin/apxs:編譯共用的 Apache 2.0 模組--with-mcrypt:支援加密庫--with-config-file-path=/etc:php的設定檔存放位置--with-config-file-scan-dir=/etc/php.d:所有以.ini結尾的檔案存放位置--with-bz2:支援bz2壓縮--enable-maintainer-zts:表示使用zts格式的php

 

    提示請重新安裝bzip2,這裡需要安裝bzip2和bzip2-devel這兩個包,用yum安裝吧

        650) this.width=650;" title="@6O0]M%LT(60O5$0ZBNJ9SW.jpg" alt="wKiom1P2F-XBj-_-AAFi7cqheeg522.jpg" src="http://s3.51cto.com/wyfs02/M02/47/0F/wKiom1P2F-XBj-_-AAFi7cqheeg522.jpg" />

 

    沒有找到libmcrypt這個包,這裡我的光碟片上沒有這個包,那就下載編譯好了。

        650) this.width=650;" title="S@{L(FOXD0@)85VIPUP{B{9.jpg" alt="wKioL1P2GU-gg-4GAAExCSzs8h8445.jpg" src="http://s3.51cto.com/wyfs02/M01/47/11/wKioL1P2GU-gg-4GAAExCSzs8h8445.jpg" />

 

    4.編譯安裝libmcrypt

#tar xf libmcrypt-2.5.7.tar.gz#cd libmcrypt-2.5.7#./configure --prefix=/usr/local/libmcrypt#make && make install

    這樣libmcrypt的次錯誤就消失了,這又出現了一個錯誤,是我粗心,打錯字母了,應該是“file”,還有bzip2應該改成bz2。

        650) this.width=650;" title="RK@M]$DR5UZ`ST6[Y)SQ)`4.jpg " alt="wKiom1P2GKHQw4IZAAD10M__DVw975.jpg" src="http://s3.51cto.com/wyfs02/M01/47/0F/wKiom1P2GKHQw4IZAAD10M__DVw975.jpg" />

    這下終於沒有錯誤了,就可以安裝了

        650) this.width=650;" title="I07YSID6TST5L)}6{E@V]UE.jpg" alt="wKioL1P2Gg3TDd0jAAIC35GQgbU887.jpg" src="http://s3.51cto.com/wyfs02/M00/47/11/wKioL1P2Gg3TDd0jAAIC35GQgbU887.jpg" />

#make && make install

 

    5.安裝好之後編輯httpd的設定檔

#Vim /etc/httpd/httpd.conf

    在裡面添加兩行,意思是讓apache支援php

        650) this.width=650;" title="APSY{1_49(JP%85)IL2H8{W.jpg" alt="wKioL1P2Gnaxf5ZFAABf5foq7fU337.jpg" src="http://s3.51cto.com/wyfs02/M02/47/11/wKioL1P2Gnaxf5ZFAABf5foq7fU337.jpg" />

 

    6.提供php的主設定檔

#cd php-5.4.26#cp php.ini-production /etc/php.ini

    重啟httpd服務

        650) this.width=650;" title="M[~W_6(X`HKLIU}EX%O3G6Y.jpg " alt="wKiom1P2GcCR0rrrAAB7R9sOCmI612.jpg" src="http://s3.51cto.com/wyfs02/M02/47/0F/wKiom1P2GcCR0rrrAAB7R9sOCmI612.jpg" />

 

    7.提供php的測試頁面,測試

#vim /usr/local/httpd/htdocs/index.php

        650) this.width=650;" title="F9WN~`S_GC[O~BLJKQIS8@S.jpg " alt="wKioL1P2G3vBVQ8HAAA7iSxSNU8581.jpg" src="http://s3.51cto.com/wyfs02/M02/47/11/wKioL1P2G3vBVQ8HAAA7iSxSNU8581.jpg" />

        650) this.width=650;" title="YWVJH2[SVAK~(ZQ9DE0ZIUX.jpg" alt="wKiom1P2GifhxeP9AAGOsF7R5v8972.jpg" src="http://s3.51cto.com/wyfs02/M00/47/0F/wKiom1P2GifhxeP9AAGOsF7R5v8972.jpg" />

 

     8.測試php與mysql的串連

#yum install php-mysql     //這個包必須裝上,因為php是依賴於php-mysql這個                           //包跟mysql通訊的#vim /usr/local/httpd/htdocs/index.php

         650) this.width=650;" title="_{EY$)FNBIX2@K$]F{6B[~L.jpg" alt="wKiom1P2GtORNm5mAACbYwJl-fk107.jpg" src="http://s3.51cto.com/wyfs02/M01/47/10/wKiom1P2GtORNm5mAACbYwJl-fk107.jpg" />

        650) this.width=650;" title="TTVV2P)`DL6)H9EH$KD`DAY.jpg " alt="wKioL1P2HAfRYgUcAACdw3_pvW0243.jpg" src="http://s3.51cto.com/wyfs02/M00/47/11/wKioL1P2HAfRYgUcAACdw3_pvW0243.jpg" />

    到此為止,php作為httpd的模組與mysql串連就成功了,httpd的編譯在我部落格的前一篇有,這裡不再編譯。

本文出自 “魚兒” 部落格,請務必保留此出處http://kyfish.blog.51cto.com/1570421/1543343

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.