centos6 5 原始碼安裝php7

2021-09-16 20:11:47 字數 4322 閱讀 4544

編譯安裝即可

tar -zxvf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

./configure

make && make install

編輯 vim /etc/ld.so.conf 末行新增

/usr/local/lib

並執行:ldconfig

編譯安裝過程

php原始碼包

wget

tar zxvf php-7.0.14.tar.gz -c /usr/src/

cd /usr/src/php***x

編譯安裝

注意:路徑換成自己的。

./configure --prefix=/usr/local/php7 --exec-prefix=/usr/local/php7 --bindir=/usr/local/php7/bin --sbindir=/usr/local/php7/sbin --includedir=/usr/local/php7/include --libdir=/usr/local/php7/lib/php --mandir=/usr/local/php7/php/man --with-config-file-path=/usr/local/php7/etc --with-mysql-sock=/tmp/mysql.sock --with-mcrypt=/usr/include --with-mhash --with-openssl --with-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --enable-sockets --enable-soap --enable-session --with-curl --enable-opcache --enable-fpm --enable-fastcgi --with-fpm-user=www --with-fpm-group=www --disable-fileinfo

其他模組可以用 ./configure --help 檢視configure的正確語法

編譯&&安裝

make clean && make && make install

設定php7的配置檔案

cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf

cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf

啟動/usr/local/php7/sbin/php-fpm

php-fpm 開機啟動

php原始碼安裝目錄在/usr/local/php7

新增php環境變數

echo -e '\nexport path=/usr/local/php7/bin:/usr/local/php7/sbin:$path\n' >> /etc/profile && source /etc/profile

檢視編譯成功後的php7安裝目錄

由於需要和mysql進行通訊,所以需要特別檢視php7安裝後的lib擴充套件庫目錄(/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/)。需要確保至少存在mysqli.so、pdo_mysql.so這兩個動態庫檔案,如下圖所示。

[root@localhost php-7.0.0]# ls -lrt /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/

php 7 目錄

php 7 目錄

開始設定php7的配置檔案php.ini、php-fpm.conf、www.conf和php-fpm指令碼

可以用編譯後的配置檔案複製到php7的配置目錄(/usr/local/php7/etc/),推薦使用 github中的配置。這個配置來自《php7中php.ini、php-fpm和www.conf的配置》

方法一:直接使用編譯後未經優化處理的配置

[root@localhost php-7.0.0]# cp php.ini-production /usr/local/php7/etc/php.ini

方法二:使用文中的配置

[root@localhost php-7.0.0]# mv ~/php.ini /usr/local/php7/etc/php.ini && mv ~/php-fpm /etc/init.d/php-fpm

[root@localhost php-7.0.0]# mv ~/php-fpm.conf /usr/local/php7/etc/php-fpm.conf && mv ~/www.conf /usr/local/php7/etc/php-fpm.d/www.conf

注意:需要修改php.ini配置中的引數,extension_dir改為自己的

extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"

其中在/etc/init.d/php-fpm中在start函式的守護程序前必須有make /var/run/php-fpm命令,否則重啟伺服器會導致啟動失敗,nginx中配置也有這個問題

新增php的環境變數

[root@localhost php-7.0.0]# echo -e 'nexport path=/usr/local/php7/bin:/usr/local/php7/sbin:$pathn' >> /etc/profile && source /etc/profile

設定php日誌目錄和php-fpm程序檔案(php-fpm.sock)目錄

其中,設定php-fpm程序目錄的使用者和使用者組為nginx,並建立php會話session目錄

設定php日誌目錄和php-fpm的執行程序id檔案(php-fpm.sock)目錄

[root@localhost php-7.0.0]# groupadd -r nginx && useradd -r -g nginx -s /bin/false -m nginx

[root@localhost php-7.0.0]# mkdir -p /var/log/php-fpm/ && mkdir -p /var/run/php-fpm && cd /var/run/ && chown -r nginx:nginx php-fpm

修改session的目錄配置

[root@localhost run]# mkdir -p /var/lib/php/session

[root@localhost run]# chown -r nginx:nginx /var/lib/php

設定php開機啟動以及測試配置檔案是否正確

配置開機自啟動,增加到主機sysv服務

[root@localhost run]# chmod +x /etc/init.d/php-fpm

[root@localhost run]# chkconfig --add php-fpm

[root@localhost run]# chkconfig php-fpm on

測試php的配置檔案是否正確合法

[root@localhost run]# php-fpm -t

[05-dec-2015 17:33:03] notice: configuration file /usr/local/php7/etc/php-fpm.conf test is successful

啟動php服務

在完成上面的操作後,就可以正式使用php服務了。啟動php程序服務的命令如下:

[root@localhost init.d]# service php-fpm start

starting php-fpm done

然後可以通過命令ps -aux|grep php檢視是否成功(圖中的php-fpm程序數和程序使用者nginx都是由www.conf中pm.start_servers和user的值分別決定的)

修改nginx配置,使用php7

location / location ~ .*.(php|php7)?$ 如果出現錯誤「sqlstate[hy000] [2002] no such file or directory」

將localhost改為127.0.0.1

$host = 'localhost';//改為127.0.0.1

$database = 'demo';

$username = 'root';

$password = 'admin';

Centos6 5 原始碼安裝LAMP

z開始安裝之前解除安裝預裝的httpd mysql php。root賬戶下執行rpm qa grep http rpm qa grep mysql rpm qa grep php,檢查是否有預裝的httpd mysql php。執行rpm e nodeps 命令,解除安裝預裝的軟體。準備工作 移動a...

Centos6 5原始碼安裝MySQL

centos 6.5環境原始碼安裝mysql 5.6 1.環境準備工作 編寫shell指令碼安裝環境 development.sh bin bash yum install wget y yum install cmake y yum install gcc c y yum install ncur...

centos6 5下原始碼安裝mysqldb

0.首先安裝mysql,詳細過程鏈結。wget tar xvf mysql python 1.2.3.tar.gz cd mysql python 1.2.3 vi site.cfg 把 mysql config usr local mysql bin mysql config 這一行前的 去掉,並...