乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      CentOS6.2(64位)服務(wù)器環(huán)境配置:第三篇源碼編譯PHP5.4

       昵稱12067353 2013-04-24

      繼前面兩篇《Centos6.2_(64位)服務(wù)器環(huán)境配置:第一篇源碼編譯Mysql》和《Centos6.2_(64位)服務(wù)器環(huán)境配置:第二篇源碼編譯Nginx》之后,把PHP部分也寫寫,這篇主要還是針對編譯安裝過程中遇到的一些奇怪問題詳解吧,其它安裝都差不多的。

      在 開始之前,先把關(guān)于libmcrypt庫的問題再說說,我也是在安裝過程遇到的,因為原本以為yum可以安裝好一切依賴包的,但在Centos6.2 64位環(huán)境下就是這么奇怪,yum安裝上的libmcrypt始終都在編譯過程提示缺少一個.h文件,為此差點碰傷了頭。經(jīng)過過多試驗,總算把 libmcrypt這塊先弄好了,否則到了PHP的安裝環(huán)境是做不來的。

      安裝PHP5.4.13要做的相關(guān)準備工作有除了下載PHP5.4.13的源碼包之外,還需要下載Libmcrypt,mcrypt和mhash,后面兩個為第一個的依賴包,而Libmcrypt又是PHP的相關(guān)依賴包,首先要把這一小部分安裝好。

      PHP5.4.13 源碼下載地址 http://cn./get/php-5.4.13.tar.gz/from/cn2./mirror

      Libmcrypt( libmcrypt-2.5.8.tar.gz ): http:///project/showfiles.php?group_id=87941&package_id=91774&release_id=487459

      http://downloads./project/mcrypt/Libmcrypt/Production/libmcrypt-2.5.7.tar.gz?r=http%3A%2F%2F%2Fprojects%2Fmcrypt%2Ffiles%2FLibmcrypt%2FProduction%2F&ts=1364009948&use_mirror=nchc

       

      mcrypt( mcrypt-2.6.8.tar.gz ): http:///project/showfiles.php?group_id=87941&package_id=91948&release_id=642101

       

      mhash( mhash-0.9.9.9.tar.gz ): http:///project/showfiles.php?group_id=4286&package_id=4300&release_id=645636

      以上幾個就是對應(yīng)文件的下載鏈接,直接wget即可。

      1、先安裝Libmcrypt

      #www. ,以/apps/setup為安裝文件存放目錄

      #tar -zxvf libmcrypt-2.5.8.tar.gz

      #cd libmcrypt-2.5.8

      #./configure

      #make & make install

      說明:libmcript默認安裝在/usr/local/lib

      2.安裝mhash

      #tar -zxvf mhash-0.9.9.9.tar.gz

      #cd mhash-0.9.9.9

      #./configure

      #make & make install

      3.安裝mcrypt

      #tar -zxvf mcrypt-2.6.8.tar.gz

      #cd mcrypt-2.6.8

       

      #LD_LIBRARY_PATH=/usr/local/lib ./configure

      #make & make install

      說 明:由于在配置Mcrypt時,會找不到libmcrypt的鏈接庫,導(dǎo)致無法編譯,需要手動指定 libmcrypt:LD_LIBRARY_PATH=/usr/local/lib 。而且實驗證明,經(jīng)過以上安裝之后,可解決configure: error: mcrypt.h not found. Please reinstall libmcrypt.問題。

      以下一段是PHP的安裝配置參數(shù),也是比較常用的,對于安裝路徑參數(shù)可以自行調(diào)整。

      ./configure --prefix=/apps/php5.4 \

      --with-config-file-path=/apps/php5.4/etc \

      --with-mysql=/apps/mysql \

      --with-mysqli=/apps/mysql/bin/mysql_config \

      --with-mysql-sock=/tmp/mysql.sock \

      --with-gd \

      --with-iconv \

      --with-zlib \

      --enable-xml \

      --enable-magic-quotes \

      --enable-safe-mode \

      --enable-bcmath \

      --enable-shmop \

      --enable-sysvsem \

      --enable-inline-appsimization \

      --with-curlwrappers \

      --enable-mbregex \

      --enable-fpm \

      --with-fpm-user=www \

      --with-fpm-group=www \

      --enable-mbstring \

      --enable-ftp \

      --enable-gd-native-ttf \

      --enable-pcntl \

      --enable-sockets \

      --with-xmlrpc \

      --enable-zip \

      --enable-soap \

      --without-pear \

      --with-gettext \

      --enable-session \

      --with-mcrypt \

      --with-curl

      細心的朋友可能已經(jīng)發(fā)現(xiàn)參數(shù)里有兩個www的參數(shù),這個就是前邊安裝Nginx的時候添加的用戶和用戶組,因為Nginx負責前端,PHP是后端,所以使用同一組賬號就方便對目錄的權(quán)限設(shè)置。

      配置完畢之后,就可以執(zhí)行

      #make & make install進行安裝了,這個環(huán)節(jié)要花費的時候比較長,可能是自己的機器配置不太高吧(2核4G內(nèi)存),足足make了將近20分鐘。最近還可以對所有 功能模塊進行測試,這個更長時間了,30分鐘以上,這一步不是必須的,只是閑著蛋痛的時候玩的。

      編譯安裝完畢,還需要一些設(shè)置:

      #cp php.ini-production   /apps/php5.4/etc/php.ini //復(fù)制php配置文件到安裝目錄

      #rm -rf /etc/php.ini   //刪除系統(tǒng)自帶配置文件

      #ln -s /apps/php5.4/etc/php.ini /etc/php.ini    //添加軟鏈接

      #cp /apps/php5.4/etc/php-fpm.conf.default   /apps/php5.4/etc/php-fpm.conf      //拷貝模板文件為php-fpm配置文件

      #vi apps/php5.4/etc/php-fpm.conf

      pid = /tmp/php-fpm.pid    //取消前面的分號

      經(jīng)過以上操作,PHP-FPM已經(jīng)可以運行了,但是這樣不宵完美,因為php-fpm本身沒提供方便用戶啟動或者重啟的腳本,要自己弄一個,內(nèi)容如下:

      #!/bin/bash

      # www.free920.com

      # create by gesion<gesion@163.com>

      # php-fpm - This shell script takes care of starting and stopping php-fpm.#

      # chkconfig: - 60 50

      # description: php-fpm is a php-cgi service.

      # processname: php-fpm

      # config: /etc/php-fpm.ini

      php_fpm_path="/apps/php5.4/sbin/php-fpm"

      php_fpm_conf="/apps/php5.4/etc/php-fpm.conf"

      php_fpm_pid="/tmp/php-fpm.pid"

      # Source function library.

      . /etc/rc.d/init.d/functions

      # Source networking configuration.

      . /etc/sysconfig/network

      # Check that networking is up.

      [ ${NETWORKING} = "no" ] && exit 0

      [ -x $php_fpm_path ] || exit 0

      RETVAL=0

      prog="php-fpm"

      # Start daemons.

      start() {

           if [ ! -s $php_fpm_pid ]; then

              rm -f $php_fpm_pid

          fi

          if [ -e $php_fpm_pid -a ! -z $php_fpm_pid ]; then

              echo $"$prog already running..."

              exit 1

          fi

          if [ -e $php_fpm_conf ]; then

              echo -n $"Starting $prog: "

              $php_fpm_path -y $php_fpm_conf &

              RETVAL=$?

              [ $RETVAL -eq 0 ] && success $"$prog"

              echo

              [ $RETVAL -eq 0 ] && return $RETVAL

              pid created $php_fpm_pid

              if [ -n "$try" ]; then

                  RETVAL=1

              else

                  RETVAL=0

              fi

          else

              RETVAL=1

          fi

          return $RETVAL

      }

      # Stop daemons.

      stop() {

          echo -n $"Stopping $prog: "

          killproc $php_fpm_path -TERM

          RETVAL=$?

          pid removed $php_fpm_pid

          if [ -n "$try" ]; then

              RETVAL=1

              failure

          else

              RETVAL=0

              success

          fi

          echo

          [ $RETVAL = 0 ] && rm -f $php_fpm_pid

          return $RETVAL

      }

      pid () {

          try=0

          while test $try -lt 35; do

              case "$1" in

                  'created')

                      if [ -f "$2" ]; then

                          try=""

                          break

                      fi

                      ;;

                  'removed')

                      if [ ! -f "$2" ]; then

                          try=""

                          break

                      fi

                      ;;

              esac

              try=$(expr $try + 1)

              sleep 1

          done

      }

      # See how we were called.

      case "$1" in

          start)

              start

              ;;

          stop)

              stop

              ;;

          restart)

              stop

              start

              ;;

          status)

               status $prog

               RETVAL=$?

               ;;

          *)

              echo $"Usage: $0 {start|stop|restart|status}"

              exit 1

      esac

      exit $RETVAL

      ------------------------分隔線--------

      以上內(nèi)容保存到/etc/init.d/php-fpm,并加入執(zhí)行權(quán)限,chkconfig php-fpm on 加入開機自動啟動。

      雖然此腳本也是轉(zhuǎn)載網(wǎng)友的,經(jīng)過昨天的遭遇發(fā)現(xiàn)此腳本還有個不完美的地方,如果由于服務(wù)器意外重啟或者其它原因產(chǎn)生一個空的pid文件,那么就會造成啟動失敗,所以在啟動命令執(zhí)行之前檢查pid文件是否為空,空的就把它刪除,這樣方可正常。

      至此就已經(jīng)介紹完了。我相信對于很多剛接觸Linux的朋友通過閱讀三篇簡單的教程就可以輕松配置一臺具體PHP+Mysql+Nginx的Web服務(wù)器。

      原創(chuàng)文章,歡迎轉(zhuǎn)載,但請注明出處:我愛共享(http://www./tech/site/368847.shtml

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多