1
2
3
4
5
6
7
8
9
10
11
|
下面的是参考https:
//typecodes
.com/ 过了一遍,和前面的nginx 连接 测试没有问题。
与mysql连接的时候,注意参数 --with-mysql-sock=
/var/run/mysql/mysql
.sock,需要和mysql里面设置的是一样。
yum -y
install
libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel
groupadd -r php &&
useradd
-r -g php -s
/bin/false
-d
/usr/local/php7
-M php
cd
/usr/local/src
wget http:
//au1
.php.net
/distributions/php-7
.1.1.
tar
.gz
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
tar
zxvf php-7.1.1.
tar
.gz
cd
php-7.1.1
.
/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=
/var/run/mysql/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 \
--disable-debug \
--disable-rpath \
--
enable
-shared \
--
enable
-xml \
--
enable
-bcmath \
--
enable
-shmop \
--
enable
-sysvsem \
--
enable
-mbregex \
--
enable
-mbstring \
--
enable
-
ftp
\
--
enable
-gd-native-ttf \
--
enable
-pcntl \
--
enable
-sockets \
--with-xmlrpc \
--
enable
-soap \
--without-pear \
--with-gettext \
--
enable
-session \
--with-curl \
--with-jpeg-
dir
\
--with-freetype-
dir
\
--
enable
-opcache \
--
enable
-fpm \
--
enable
-fastcgi \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--without-gdbm \
--disable-fileinfo
make
&&
make
install
make
test
##不是必须
ll
/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/
|
1
2
3
4
5
6
7
|
直接使用编译后未经优化处理的配置
cp
php.ini-production
/usr/local/php7/etc/php
.ini
cp
sapi
/fpm/init
.d.php-fpm
/etc/init
.d
/php-fpm
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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
修改配置文件
vim
/usr/local/php7/etc/php
.ini
######避免PHP信息暴露在http头中
expose_php = Off
######避免暴露php调用mysql的错误信息
display_errors = Off
######在关闭display_errors后开启PHP错误日志(路径在php-fpm.conf中配置)
log_errors = On
######设置PHP的扩展库路径
extension_dir =
"/usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/"
######设置PHP的opcache和mysql动态库
zend_extension=opcache.so
extension=mysqli.so
extension=pdo_mysql.so
######设置PHP的时区
date
.timezone = PRC
######开启opcache
[opcache]
opcache.
enable
=1
######设置PHP脚本允许访问的目录(需要根据实际情况配置)
open_basedir =
/etc/nginx/html
;
|
1
2
3
4
5
6
|
vim
/usr/local/php7/etc/php-fpm
.conf
######设置错误日志的路径
error_log =
/var/log/php-fpm/error
.log
######引入www.conf文件中的配置
include=
/usr/local/php7/etc/php-fpm
.d/*.conf
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
vim
/usr/local/php7/etc/php-fpm
.d/
######设置用户和用户组
user = nginx
group = nginx
######根据nginx.conf中的配置fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;设置PHP监听
; 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
######设置php的session目录(所属用户和用户组都是nginx)
php_value[session.save_handler] = files
php_value[session.save_path] =
/var/lib/php/session
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
echo
-e
'\nexport PATH=/usr/local/php7/bin:/usr/local/php7/sbin:$PATH\n'
>>
/etc/profile
&&
source
/etc/profile
mkdir
-p
/var/log/php-fpm/
&&
mkdir
-p
/var/run/php-fpm
&&
cd
/var/run/
&&
chown
-R nginx:nginx php-fpm
mkdir
-p
/var/lib/php/session
chown
-R nginx:nginx
/var/lib/php
chmod
+x
/etc/init
.d
/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
php-fpm -t
service php-fpm start
ps
-aux |
grep
php
##php-fpm进程数和进程用户nginx都是由www.conf中pm.start_servers和user的值分别决定的
root 26007 0.0 0.0 182016 6324 ? Ss 13:36 0:00 php-fpm: master process (
/usr/local/php7/etc/php-fpm
.conf)
nginx 26008 0.0 0.0 182016 5884 ? S 13:36 0:00 php-fpm: pool www
nginx 26009 0.0 0.0 182016 5884 ? S 13:36 0:00 php-fpm: pool www
|
1
2
3
4
|
测试
<?php
phpinfo();
?>
|
本文转自 295631788 51CTO博客,原文链接:http://blog.51cto.com/hequan/1896152,如需转载请自行联系原作者