centos 7 安装 php7 & php-fpm

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

配置 PHP

配置文件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

添加 PHP 命令到环境变量

编辑 ~/.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会报以下错误:

blob.png

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

checking for known struct flock definition... configure: error: Don't know how to define struct flock on this system, set --enable-opcache=no

二、平台介绍:

1

2

3

4

5

6

OS Version:  CentOS release 6.4(Final)

Nginx Version:  nginx version: nginx/1.4.3

PHP Version:  PHP 5.5.5(fpm-fcgi)

Mysql Version:  Server version: 5.6.10-log Source distribution

Kernel Version: 2.6.32-358.el6.x86_64

IP address:  192.168.168.133

 

三、解决办法:

 

1

2

3

4

vim /etc/ld.so.conf.d/local.conf     # 编辑库文件

/usr/local/lib                       # 添加该行

:wq                                  # 保存退出

ldconfig -v                          # 使之生效

相关文章
相关标签/搜索