centos7上編譯安裝php7以php-fpm方式連接apache
好幾個月之間其實已經(jīng)配置過LAMP LNMP等等一些配置,以前配置都是按照晚上抄的,基本都能配置出來,現(xiàn)重頭學(xué)想自己配置下,但是發(fā)現(xiàn)好多配置都忘了 ,中間踩了幾個坑,記錄下,也更徹底的學(xué)習(xí)下.....
./configure --prefix=/usr/local/php7
--enable-fpm 以fpm模式安裝,這個還可以改成 --with-apxs2=PATH模式,兩者只能取其一
--enable-so
--with-config-file-path=/etc 只能配置文件位置
--with-config-file-scan-dir=/etc/php.d 可以讀取這個目錄下的配合文件
--with-openssl
--with-linxml-dir
--with-bz2
--with-curl
--with-pcre-dir
--with-gd
--with-jpeg-dir
--with-png-dir
--with-zlib-dir
--with-mcrypt
--with-mysql=/usr/local/mysql 這個選項是多余的,不生效,在php7中有其內(nèi)置的mysql模塊了 不用依賴于mysql或mariadb,所以說php安裝順序放在那里都行
--with-mysqli
--with-mysql-sock
--with-pdo-mysql
--enable-sockets
這次編譯的呢是php獨立模式的,不是作為apache模塊形式運行的,所有就開啟了 --enable-fpm,這樣的好處是php可以獨立與任何一臺機器運行
但是,上面的參數(shù)并不是完整的,有很多的參數(shù)沒添加上。。
遇到的問題是,在使用phpMyadmin的時候
然后就開始在網(wǎng)上搜啊搜的,找了好多也沒解決,不能說網(wǎng)上的方法不對,只是安裝方式不同而已,網(wǎng)上的方法大部分是這樣的
或者是這樣的
但是我的都不是這樣的,以上說的可能是直接yum安裝的php,具體我的為什么出現(xiàn)這種情況 還需要看 ./configure的選項了,因為我沒有 開啟
---enable-mbstring Enable multibyte string support
所有就會出現(xiàn)這樣的問題,解決方案,動態(tài)編譯mbstrin
cd /root/pakger/php-7.1.23/ext/mbstring/ /usr/local/php7/bin/phpize ./configure --with-php-config=/usr/local/php7/bin/php-config make && make install cd /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/
也就這幾部,首先cd 到php的源目錄中的/ext/mbstring中
然后運行 /usr/local/php7/bin/phpize 會生成一個configure的文件
最后直接使用期編譯安裝到上面指定的位置即可,編譯安裝完以后會出現(xiàn)此模塊的路徑 ×××路徑到php.ini中 如下圖:
據(jù)對路徑方式....
然后重啟php-fpm即可,當(dāng)然想要和apache連接上還需要配置apachere配置文件
因為這里是以fpm形式安裝的,所以和模塊形式的配置是不一樣的,除了添加
以外 還需要添加
以上兩行,大概意思是讓php請求的頁面都走這個路徑。。。
而以模塊形式安裝php的應(yīng)配置為
到此基本就完事了,然后就是配置一下php的配置文件之類的...
另外php的配置文件挺多的,它為啥不能放在一個配置文件下面的::
因此,這篇文章主要對這三個PHP配置文件的進行簡單說明,具體的配置過程見本文末尾的 附錄 部分。
1 配置php.ini
php.ini是php運行核心配置文件: ######避免PHP信息暴露在http頭中 expose_php = Off ######避免暴露php調(diào)用mysql的錯誤信息 display_errors = Off ######在關(guān)閉display_errors后開啟PHP錯誤日志(路徑在php-fpm.conf中配置) log_errors = On ######設(shè)置PHP的擴展庫路徑 extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20141001/" ######設(shè)置PHP的opcache和mysql動態(tài)庫 zend_extension=opcache.so extension=mysqli.so extension=pdo_mysql.so ######設(shè)置PHP的時區(qū) date.timezone = PRC ######開啟opcache [opcache] ; Determines if Zend OPCache is enabled opcache.enable=1 ######設(shè)置PHP腳本允許訪問的目錄(需要根據(jù)實際情況配置) ;open_basedir = /usr/share/nginx/html;
2 配置php-fpm.conf
php-fpm.conf是 php-fpm 進程服務(wù)的配置文件: ######設(shè)置錯誤日志的路徑 error_log = /var/log/php-fpm/error.log ######引入www.conf文件中的配置 include=/usr/local/php7/etc/php-fpm.d/*.conf
3 配置www.conf(在php-fpm.d目錄下)
www.conf這是 php-fpm 進程服務(wù)的擴展配置文件:
######設(shè)置用戶和用戶組 user = nginx group = nginx ######根據(jù)nginx.conf中的配置fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;設(shè)置PHP監(jiān)聽 ; listen = 127.0.0.1:9000 #####不建議使用 listen = /var/run/php-fpm/php-fpm.sock ######開啟慢日志 slowlog = /var/log/php-fpm/$pool-slow.log request_slowlog_timeout = 10s ######設(shè)置php的session目錄(所屬用戶和用戶組都是nginx) php_value[session.save_handler] = files php_value[session.save_path] = /var/lib/php/session <?php phpinfo(); $link = mysql_connect("localhost","user","passwd"); if (!$link) echo "FAILD"; else echo "ok"; phpinfo(); ?>
通用二進制安裝包安裝mariadb出了幾次錯誤,索性就編譯安裝了,但是。。真的挺慢的.......
其中用到了 mysql中的data專門放到一個目錄或分區(qū)上
需要用到磁盤分區(qū)知識,然后使用初始化腳本來指定data的位置
然后設(shè)置mysql開機啟動 把服務(wù)腳本添加到init.d目錄下等
總結(jié)
以上所述是小編給大家介紹的centos7上編譯安裝php7以php-fpm方式連接apache,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
分享一段php獲取linux服務(wù)器狀態(tài)的代碼
正在做的項目中,需要使用php獲取Linux服務(wù)器狀態(tài),度娘了一下,發(fā)現(xiàn)絕大部分都是基于WIN系統(tǒng)的,好吧,自力更生,分享給大家一段Linux的代碼2014-05-05PHP實現(xiàn)微信商戶支付企業(yè)付款到零錢功能
這篇文章主要為大家詳細(xì)介紹了PHP實現(xiàn)微信商戶支付企業(yè)付款到零錢功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09php頁面,mysql數(shù)據(jù)庫轉(zhuǎn)utf-8亂碼,utf-8編碼問題總結(jié)
一個網(wǎng)站如果需要國際化,就需要將編碼從GB2312轉(zhuǎn)成UTF-8,其中有很多的問題需要注意,如果沒有轉(zhuǎn)換徹底,將會有很多的編碼問題出現(xiàn)!接下來通過本篇文章給大家分享php頁面,mysql數(shù)據(jù)庫轉(zhuǎn)utf-8亂碼,utf-8編碼問題總結(jié),需要的朋友可以參考下2015-08-08destoon實現(xiàn)首頁顯示供應(yīng)、企業(yè)、資訊條數(shù)的方法
這篇文章主要介紹了destoon實現(xiàn)首頁顯示供應(yīng)、企業(yè)、資訊條數(shù)的方法,在模板開發(fā)中非常實用,需要的朋友可以參考下2014-07-07PHP機器學(xué)習(xí)庫php-ml的簡單測試和使用方法
下面小編就為大家?guī)硪黄狿HP機器學(xué)習(xí)庫php-ml的簡單測試和使用方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07基于php(Thinkphp)+jquery 實現(xiàn)ajax多選反選不選刪除數(shù)據(jù)功能
這篇文章主要介紹了基于php(Thinkphp)+jquery 實現(xiàn)ajax多選反選不選刪除數(shù)據(jù)功能的相關(guān)資料,需要的朋友可以參考下2017-02-02