<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        記一次痛苦的過程-------源碼編譯安裝apache+php5+mysql_MySQL

        來源:懂視網 責編:小采 時間:2020-11-09 19:50:47
        文檔

        記一次痛苦的過程-------源碼編譯安裝apache+php5+mysql_MySQL

        記一次痛苦的過程-------源碼編譯安裝apache+php5+mysql_MySQL:當時有我們準備做一個項目,于是我就自己搭建了lamp服務器,直接yum install所有文件,因為centos是一個比較穩重的系統,所以它上面所有軟件都不是最新的,apache是2.2.15版本,php是5.3.3,mysql是5.1.69.結果發現頁面提示錯誤,提示什么內容我忘了,反正
        推薦度:
        導讀記一次痛苦的過程-------源碼編譯安裝apache+php5+mysql_MySQL:當時有我們準備做一個項目,于是我就自己搭建了lamp服務器,直接yum install所有文件,因為centos是一個比較穩重的系統,所以它上面所有軟件都不是最新的,apache是2.2.15版本,php是5.3.3,mysql是5.1.69.結果發現頁面提示錯誤,提示什么內容我忘了,反正

        當時有我們準備做一個項目,于是我就自己搭建了lamp服務器,直接yum install所有文件,因為centos是一個比較穩重的系統,所以它上面所有軟件都不是最新的,apache是2.2.15版本,php是5.3.3,mysql是5.1.69.結果發現頁面提示錯誤,提示什么內容我忘了,反正放到本地就沒有任何問題,后來發現是由于thinkphp框架的原因,有些語法不支持php5.4以下,于是決定升級php,于是痛苦的過程開始了!!!!

        剛開始想到的方法是換源,給centos換源,服務器用的是6.3版本,先換了163的源,后來又換了中科大的源,發現都一樣,yum info php都是5.3.3,后來決定源碼安裝php,但是后來發現編譯的時候必須加上apache和mysql的安裝目錄,因為是yum安裝的apache和mysql,沒辦法添加目錄,所以決定全部重新編譯!!!好,先下源碼!

        卸載yum或rpm安裝的amp軟件
        在編譯安裝lamp之前,首先先卸載已存在的rpm包吧。
        rpm -e httpd
        rpm -e mysql
        rpm -e php
        yum -y remove httpd
        yum -y remove php
        yum -y remove mysql-server mysql
        yum -y remove php-mysql
        禁用SeLinux
        selinux可能會致使編譯安裝失敗,我們先禁用它。
        sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config //永久禁用,需要重啟生效
        setenforce 0 //臨時禁用,不需要重啟
        yum安裝必要工具
        1、安裝編譯工具gcc gcc-c++make automake autoconf kernel-devel
        2、安裝PHP所需依賴,如libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel等
        yum -y install gcc gcc-c++ make automake autoconf kernel-devel ncurses-devel libxml2-devel openssl-devel curl-devel libjpeg-devel libpng-devel pcre-devel libtool-libs freetype-devel gd zlib-devel file bison patch mlocate flex diffutils readline-devel glibc-devel glib2-devel bzip2-devel gettext-devel libcap-devel libmcrypt-devel
        下載所需源碼
        apache:http://httpd.apache.org/
        mysql:http://mysql.com/downloads/mysql/
        php:http://php.com/downloads.php
        phpmyadmin:http://www.phpmyadmin.net/home_page/downloads.php
        我們這里選擇的版本為:apache-2.2.22,mysql-5.1.62,php-5.2.17,phpmyadmin-3.4.10.2
        cd /tmp
        wget -c http://apache.ziply.com//httpd/httpd-2.2.22.tar.gz
        wget -c http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.64.tar.gz/from/http://mysql.he.net/
        wget -c http://us2.php.com/get/php-5.2.17.tar.gz/from/am.php.com/mirror
        wget -c http://iweb.dl.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.4.10.2/phpMyAdmin-3.4.10.2-all-languages.tar.gz
        tar xzf httpd-2.2.22.tar.gz
        tar xzf mysql-5.1.62.tar.gz
        tar xzf php-5.2.17.tar.gz
        tar xzf phpMyAdmin-3.4.10.2-all-languages.tar.gz
        安裝apache2.2.22
        cd /tmp/httpd-2.2.22
        ./configure --prefix=/usr/local/apache --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-headers=shared --enable-rewrite=shared --enable-static-support
        make
        make install
        編譯參數解釋:
        --prefix=/usr/local/apache:指定安裝目錄
        --with-included-apr:在編譯時強制使用當前源代碼中綁定的APR版本
        --enable-so:允許運行時加載DSO模塊
        --enable-deflate=shared:將deflate模塊編譯為DSO
        --enable-expires=shared:將expires模塊編譯為DSO
        --enable-headers=shared:將headers模塊編譯為DSO
        --enable-rewrite=shared:將rewrite模塊編譯為DSO
        --enable-static-support:使用靜態連接(默認為動態連接)編譯所有二進制支持程序
        更詳細的編譯參數解釋:http://lamp.linux.gov.cn/Apache/ApacheMenu/programs/configure.html
        cp build/rpm/httpd.init /etc/init.d/httpd //使用init腳本管理httpd
        chmod 755 /etc/init.d/httpd //增加執行權限
        chkconfig --add httpd //添加httpd到服務項
        chkconfig httpd on //設置開機啟動
        ln -fs /usr/local/apache/ /etc/httpd
        ln -fs /usr/local/apache/bin/httpd /usr/sbin/httpd
        ln -fs /usr/local/apache/bin/apachectl /usr/sbin/apachectl
        ln -fs /usr/local/apache/logs /var/log/httpd //設置軟鏈接以適應init腳本
        安裝mysql5.1.62
        groupadd mysql
        useradd -g mysql mysql
        cd /tmp/mysql-5.1.62
        ./configure --prefix=/usr/local/mysql/ --localstatedir=/usr/local/mysql/data --without-debug --with-unix-socket-path=/tmp/mysql.sock --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static --enable-assembler --with-extra-charsets=gbk,gb2312,utf8 --with-pthread
        make
        make install //注意:這里是參考別人的,個人安裝時候因為mysql版本過高,不支持make編譯,必須用到cmake,可以直接yum install cmake安裝
        編譯參數解釋:
        --prefix=/usr/local/mysql/:指定安裝位置
        --localstatedir=/usr/local/mysql/data:指定數據庫文件位置
        --without-debug:禁用調用模式
        --with-unix-socket-path=/tmp/mysql.sock:指定sock文件位置
        --with-client-ldflags=-all-static:
        --with-mysqld-ldflags=-all-static:以純靜態方式編譯服務端和客戶端
        --enable-assembler:使用一些字符函數的匯編版本
        --with-extra-charsets=gbk,gb2312,utf8 :gbk,gb2312,utf8字符支持
        --with-pthread:強制使用pthread庫(posix線程庫)
        更多編譯參數請執行./configure --help命令查看。
        cp support-files/my-medium.cnf /etc/my.cnf //復制配置文件夾my.cnf
        /usr/local/mysql/bin/mysql_install_db --user=mysql //初始化數據庫
        chown -R root.mysql /usr/local/mysql
        chown -R mysql /usr/local/mysql/data
        cp /tmp/mysql-5.1.62/support-files/mysql.server /etc/rc.d/init.d/mysqld //init啟動腳本
        chown root.root /etc/rc.d/init.d/mysqld
        chmod 755 /etc/rc.d/init.d/mysqld
        chkconfig --add mysqld
        chkconfig mysqld on
        ln -s /usr/local/mysql/bin/mysql /usr/bin
        ln -s /usr/local/mysql/bin/mysqladmin /usr/bin
        service mysqld start
        /usr/local/mysql/bin/mysqladmin -u root password '新密碼' //設置root密碼
        安裝PHP5.2.17
        在編譯php之前,先要解決兩個問題:centos 6上libmcrypt的安裝和可能有些系統找不到libiconv導致的錯誤。
        1、centos 6官方源已經沒有libmcrypt的rpm包,我們這里選擇編譯安裝,當然你也可以導入第三方源安裝(centos 5略過此步)。
        下載源碼:
        cd /tmp
        wget http://superb-dca2.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
        wget http://superb-dca2.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz
        wget http://superb-sea2.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
        tar xzf libmcrypt-2.5.8.tar.gz
        tar xzf mhash-0.9.9.9.tar.gz
        tar xzf mcrypt-2.6.8.tar.gz
        //安裝libmcrypt
        cd /tmp/libmcrypt-2.5.8
        ./configure --prefix=/usr
        make && make install
        //安裝libmcrypt
        cd /tmp/mhash-0.9.9.9
        ./configure --prefix=/usr
        make && make install
        //安裝mcrypt
        /sbin/ldconfig //搜索出可共享的動態鏈接庫
        cd /tmp/mcrypt-2.6.8
        ./configure
        make && make install
        2、解決可能出現的libiconv錯誤。
        cd /tmp
        wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
        tar xzf libiconv-1.14.tar.gz
        cd libiconv-1.14
        ./configure --prefix=/usr/local/libiconv
        make && make install
        開始安裝php-5.2.17:
        cd /tmp/php-5.2.17
        ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --enable-bcmath --with-bz2 --with-curl --enable-ftp --with-gd --enable-gd-native-ttf --with-gettext --with-mhash --enable-mbstring --with-mcrypt --enable-soap --enable-zip --with-iconv=/usr/local/libiconv --with-mysql=/usr/local/mysql --without-pear
        make
        make install
        編譯參數解釋:
        --prefix=/usr/local/php:設置安裝路徑
        --with-apxs2=/usr/local/apache/bin/apxs:編譯共享的 Apache 2.0 模塊
        --with-config-file-path=/etc:指定配置文件php.ini地址
        --with-config-file-scan-dir=/etc/php.d:指定額外的ini文件目錄
        --with-openssl:編譯OpenSSL支持
        --with-zlib:編譯zlib支持
        --enable-bcmath:啟用BC風格精度數學函數
        --with-bz2:BZip2支持
        --with-curl:CRUL支持
        --enable-ftp:FTP支持
        --with-gd:GD支持
        --enable-gd-native-ttf:啟用TrueType字符串函數
        --with-gettext:啟用GNU gettext支持
        --with-mhash:mhash支持
        --enable-mbstring:啟用支持多字節字符串
        --with-mcrypt:編譯mcrypt加密支持
        --enable-soap:SOAP支持
        --enable-zip:啟用zip 讀/寫支持
        --with-iconv=/usr/local/libiconv:iconv支持
        --with-mysql=/usr/local/mysql:啟用mysql支持
        --without-pear:不安裝PEAR
        更多編譯參數解釋參考http://www.php.com/manual/zh/configure.about.php或者./configure --help查看。
        cp php.ini-dist /usr/local/php/etc/php.ini //復制配置文件php.ini
        在/etc/httpd/conf/httpd.conf文件中加入php文件類型解析:
        Addtype application/x-httpd-php .php
        重啟httpd:
        service httpd restart

        后來發現還是不行,提示系統不支持pdo,還有各種問題,最后又在網上找到了yum安裝php5.4的方法,又決定重裝系統yum安裝,好了,重裝系統!!!!

        此處省略半天...................................................................................................................................................................................

        裝好之后,先yum install apache mysql mysql-server mysql-devel

        重點來了!!!!

        使用 Webtatic EL6的YUM源來安裝php5.4,

        rpm -Uvh http://repo.webtatic.com/yum/el6/latest.rpm

        yum install php54w

        如果安裝失敗,先卸載以前的php

        這樣肯定不行,它會提示could not find driver

        因為thinkphp里有用到pdo連接數據庫,所以必須安裝pdo模塊!

        我是自己又安裝了php54w-mysql php54w-odbc php54w-pdo

        每個人情況不一樣,你們酌情安裝!

        附帶的php擴展列表:
        Package Provides
        php54w mod_php
        php54w-bcmath
        php54w-cli php-cgi, php-pcntl, php-readline
        php54w-common php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib
        php54w-dba
        php54w-devel
        php54w-embedded php-embedded-devel
        php54w-enchant
        php54w-fpm
        php54w-gd
        php54w-imap
        php54w-interbase php_database, php-firebird
        php54w-intl
        php54w-ldap
        php54w-mbstring
        php54w-mcrypt
        php54w-mssql
        php54w-mysql php-mysqli, php_database
        php54w-odbc php-pdo_odbc, php_database
        php54w-pdo
        php54w-pgsql php-pdo_pgsql, php_database
        php54w-process php-posix, php-sysvmsg, php-sysvsem, php-sysvshm
        php54w-pspell
        php54w-recode
        php54w-snmp
        php54w-soap
        php54w-tidy
        php54w-xml php-dom, php-domxml, php-wddx, php-xsl
        php54w-xmlrpc
        php54w-zts

        最后還是出了問題!!!提示

        SQLSTATE[HY000] [2019] Can't initialize character set UTF-8

        在這兒卡了好久,查了好多都,最后一個大牛過來,不到兩分鐘解決了問題,原因是在Thinkphp的配置文件上,連接數據庫的時候字符集設置為UTF-8,在這把UTF-8改為UTF8就ok了!!!!這困擾了我一周的問題就被大牛秒了!!!大牛我膜拜你!!!順便說一下,這個配置文件是在Index/conf/config.php,當初因為對thinkphp框架不熟悉,導致找這個文件找了好久!!!現在把我的痛苦經歷寫出來以免大家走彎路!!

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        記一次痛苦的過程-------源碼編譯安裝apache+php5+mysql_MySQL

        記一次痛苦的過程-------源碼編譯安裝apache+php5+mysql_MySQL:當時有我們準備做一個項目,于是我就自己搭建了lamp服務器,直接yum install所有文件,因為centos是一個比較穩重的系統,所以它上面所有軟件都不是最新的,apache是2.2.15版本,php是5.3.3,mysql是5.1.69.結果發現頁面提示錯誤,提示什么內容我忘了,反正
        推薦度:
        標簽: 安裝 過程 php
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲国产综合精品| 亚洲国产精品无码中文字| 狠狠色香婷婷久久亚洲精品| 久久免费国产视频| 精品亚洲aⅴ在线观看| 无码日韩精品一区二区免费暖暖| 亚洲AV无码不卡在线播放| 国产成人一区二区三区视频免费| 国产成人亚洲综合无码精品| 色欲色香天天天综合网站免费| 666精品国产精品亚洲| 91精品成人免费国产片| 精品亚洲456在线播放| 小小影视日本动漫观看免费| 野花视频在线官网免费1| 国产亚洲av片在线观看18女人| 波多野结衣免费一区视频| 久久精品国产亚洲AV嫖农村妇女| 97视频热人人精品免费| 亚洲a∨无码一区二区| 久久青青草原亚洲av无码| 久久免费高清视频| 亚洲av产在线精品亚洲第一站| 在线观看人成视频免费| 曰韩无码AV片免费播放不卡 | 美女扒开屁股让男人桶爽免费| 免费在线观看一级毛片| 丝袜足液精子免费视频| 亚洲成a人片在线观看播放| 麻豆国产精品入口免费观看| www成人免费观看网站| 久久久久亚洲av无码尤物| 成人免费在线视频| 国产在线精品观看免费观看| 亚洲网站在线播放| 国产美女被遭强高潮免费网站| www免费黄色网| 日本亚洲精品色婷婷在线影院| 亚洲情a成黄在线观看| 最新黄色免费网站| 一级特黄录像视频免费|