1.下載源代碼php
2.添加epel 源mysql
3.安裝依賴nginx
yum install gcc bison bison-devel zlib-devel libmcrypt-devel mcrypt mhash-devel openssl-devel libxml2-devel libcurl-devel bzip2-devel readline-devel libedit-devel sqlite-devel gmp-devel libjpeg-devel libpng-develgit
4.建立用戶web
# groupadd www
# useradd -g www -s /sbin/nologin -M www
5.編譯安裝sql
收集的比較全的編譯選項:shell
./configure \ --prefix=/usr/local/php7 \ --with-config-file-path=/usr/local/php7/etc \ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ --enable-opcache \ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ --with-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-gettext \ --enable-mbstring \ --with-iconv \ --with-mcrypt \ --with-mhash \ --with-openssl \ --enable-bcmath \ --enable-soap \ --with-libxml-dir \ --enable-pcntl \ --enable-shmop \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-sockets \ --enable-calendar \ --enable-wddx \ --with-gmp \ --with-curl \ --with-zlib \ --enable-zip \ --with-bz2 \ --with-gd \ --enable-gd-native-ttf \ --enable-exif \ --with-readline
# make -j8
# make install
配置文件:ubuntu
# cp php.ini-development /usr/local/php56/etc/php.ini
php-fpm 服務vim
# cp /usr/local/php56/etc/php-fpm.conf.default /usr/local/php56/etc/php-fpm.conf
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm56
# chmod +x /etc/init.d/php-fpm56
啓動 php-fpmcentos
# service php-fpm56 start Starting php-fpm done
php-fpm 可用參數 start|stop|force-quit|restart|reload|status
編輯 ~/.bash_profile,將:
PATH=$PATH:$HOME/bin 改成: PATH=$PATH:$HOME/bin:/usr/local/php56/bin
使 PHP 環境變量生效:
# . ~/.bash_profile
查看看 PHP 版本
# php -v
################來源:http://www.timelog.xyz/tmv/20##############
編譯安裝的腳本是我以前寫的unmp.sh :http://git.oschina.net/fallBirds/tltw-lnmp-shell
安裝過程和5版的無疑,很是簡單。須要注意的是,編譯參數會少了 --with-mysql 。由於PHP7 mysql的驅動函數再也不支持。之後都是預處理的天下!除了豬隊友,之後應該不會再有注入漏洞的了。
編譯過程理論上來講不會出現很大的問題。在這裏我就不說了,你們具體看腳本吧。編譯完成後,要配置PHP-FPM。 在PHP7中,PHP-FPM的配置文件存放進行了稍微的調整。按照上面提供的腳本,你會發現直接執行 /opt/php/sbin/PHP-FPM會報以下錯誤:
root@ubuntu:/opt/php7# /opt/php7/sbin/php-fpm [22-Sep-2015 14:29:00] WARNING: Nothing matches the include pattern '/opt/php7/etc/php-fpm.d/*.conf' from /opt/php7/etc/php-fpm.conf at line 125. [22-Sep-2015 14:29:00] ERROR: No pool defined. at least one pool section must be specified in config file [22-Sep-2015 14:29:00] ERROR: failed to post process the configuration [22-Sep-2015 14:29:00] ERROR: FPM initialization failed
大概意思就是說找不到 opt/php7/etc/php-fpm.d/目錄下的配置文件。 進入裏面的目錄,會有一個www.conf.default文件。執行下面命名複製一份
root@ubuntu:/opt/php7/etc/php-fpm.d/# cp www.conf
複製好以後,編輯該文件
root@ubuntu:/opt/php7/etc/php-fpm.d/# nano www.conf
定位到裏面文件的 user = nobody 和 group = nobody ,調整爲 www-data。這一步和5版編譯安裝同樣。最後啓動PHP-FPM
root@ubuntu:~# /opt/php7/sbin/php-fpm root@ubuntu:~#
沒報錯,web訪問看phpinfo()
+++++++++++++++++++++error+++++++++++++++++++++++++
編譯安裝php報錯PHP configure: error: mcrypt.h not found. Please reinstall libmcrypt. 緣由以及解決辦法:
緣由centos源不能安裝libmcrypt-devel,因爲版權的緣由沒有自帶mcrypt的包。有
方法1:
一、安裝第三方yum源
能夠scp將阿里雲的文件CentOS-Base.repo直接拷貝過來。
二、使用yum命令安裝
yum install php-mcrypt libmcrypt libmcrypt-devel
方法2:
使用php mcrypt 前必須先安裝Libmcrypt
libmcrypt源碼安裝方法:
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz
tar -zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure –prefix=/usr/local
make
make install
再去編譯安裝就能夠了。若有其餘報錯,請根據具體報錯解決。
在對php進行安裝的過程當中出現以下錯誤:
一、報錯信息:
1 |
|
二、平臺介紹:
1 2 3 4 5 6 |
|
三、解決辦法:
1 2 3 4 |
|