|
1
2
3
4
5
6
7
8
|
YUM 安装rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install php71w php71w-mysql php71w-odbc php71w-common php71w-embedded php71w-pgsql php71w-xml php71w-ldap php71w-fpm php71w-gd php71w-pdo php71w-devel php71w-mbstring php71w-mcrypt php71w-cli php71w-json php71w-imap php71w-bcmath mod_php71w php71w-pear
rpm -qa |grep php
systemctl start php-fpm.servicenetstat -lntup | grep 9000
whereis php-fpm
|
编译安装
|
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
yum -y install libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel openldap openldap-devel
cp -frp /usr/lib64/libldap* /usr/lib/
ln -s /usr/lib64/liblber* /usr/lib/
groupadd -g 58 nginxuseradd -u 58 -g 58 -M nginx -s /sbin/nologin
cd /usr/local/src
wget http://cn2.php.net/distributions/php-7.1.11.tar.gz
tar zxvf php-7.1.11.tar.gz
cd php-7.1.11
./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-mysqli=shared,mysqlnd \--with-pdo-mysql=shared,mysqlnd \--with-gd \--with-iconv \--with-zlib \--enable-zip \
--with-ldap=shared \--with-ldap-sasl \--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 \
--with-fpm-user=nginx \--with-fpm-group=nginx \--without-gdbm \--disable-fileinfomake && make install
make test ##不是必须
ll /usr/local/php7/lib/php/extensions/no-debug-non-zts-20160303/
直接使用编译后未经优化处理的配置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
修改配置文件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.soextension=mysqli.soextension=pdo_mysql.soextension=ldap.so######设置PHP的时区date.timezone = PRC
######开启opcache[opcache]opcache.enable=1
######设置PHP脚本允许访问的目录(需要根据实际情况配置)open_basedir = /etc/nginx/html;
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
[root@zabbix ~]# cat /usr/local/php/etc/php-fpm.conf
[global]pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
log_level = notice[www]listen = /tmp/php-cgi.sock
listen.backlog = -1listen.allowed_clients = 127.0.0.1listen.owner = wwwlisten.group = wwwlisten.mode = 0666user = wwwgroup = wwwpm = dynamicpm.max_children = 80pm.start_servers = 40pm.min_spare_servers = 40pm.max_spare_servers = 80request_terminate_timeout = 100request_slowlog_timeout = 0slowlog = var/log/slow.log
vim /usr/local/php7/etc/php-fpm.d/www.conf
######设置用户和用户组user = nginxgroup = 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] = filesphp_value[session.save_path] = /var/lib/php/session
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-fpmchkconfig php-fpm onphp-fpm -tservice php-fpm startps -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 wwwnginx 26009 0.0 0.0 182016 5884 ? S 13:36 0:00 php-fpm: pool www |
本文转自 295631788 51CTO博客,原文链接:http://blog.51cto.com/hequan/1982046,如需转载请自行联系原作者
本文介绍在 CentOS 系统上通过 YUM 和编译方式安装 PHP7.1 的详细步骤,并配置 php-fpm 服务,实现与 Nginx 的交互。文章还涉及如何设置 PHP 的各项参数,确保服务稳定运行。
1万+

被折叠的 条评论
为什么被折叠?



