[root@redhat7 ~]# wget http://am1.php.net/get/php-7.1.2.tar.gz/from/this/mirror
[root@redhat7 ~]# tar xzvf php-7.1.2.tar.gz
[root@redhat7 ~]# cd php-7.1.2/
[root@redhat7 ~]# ./configure--prefix=/usr/local/php --enable-fpm
[root@redhat7 php-7.1.2]# make&&make install
查看是否成功編譯安裝PHP
[root@redhat7 php-7.1.2]# php -v
PHP 7.1.2 (fpm-fcgi) (built: Apr 14 2017 20:21:53)
Copyright (c) 1997-2017 The PHP Group
編譯安裝完成后PHP不具備配置文件php.ini赡艰,此時(shí)只需復(fù)制php.ini-production到 /usr/local/lib/php.ini即可,php.ini文件一般在/usr/local/lib/和/etc目錄下
[root@localhost php-7.1.2]# cp php.ini-production /usr/local/lib/php.ini
[root@redhat7 php]# /usr/local/php/sbin/php-fpm
[14-Apr-2017 20:59:49] ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2)
[14-Apr-2017 20:59:49] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'
[14-Apr-2017 20:59:49] ERROR: FPM initialization failed
啟動(dòng)php-fpm發(fā)現(xiàn)缺乏配置文件/usr/local/php/etc/php-fpm.conf
此時(shí)只需復(fù)制php-fpm的配置文件在安裝php時(shí)提供的配置文件的模版/usr/local/php/etc/php-fpm.conf.default到相應(yīng)/usr/local/php/etc/php-fpm.conf即可
[root@redhat7 etc]# /usr/local/php/sbin/php-fpm
[14-Apr-2017 21:14:32] WARNING: Nothing matches the include pattern '/usr/local/php/etc/php-fpm.d/*.conf' from /usr/local/php/etc/php-fpm.conf at line 125.
[14-Apr-2017 21:14:32] ERROR: No pool defined. at least one pool section must be specified in config file
[14-Apr-2017 21:14:32] ERROR: failed to post process the configuration
[14-Apr-2017 21:14:32] ERROR: FPM initialization failed
[root@redhat7 etc]# cp php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@redhat7 etc]# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
[root@redhat7 etc]# /etc/init.d/php-fpm
[14-Apr-2017 21:23:02] ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)
[14-Apr-2017 21:23:02] ERROR: FPM initialization failed
[root@redhat7 etc]# netstat -nldp|grep 9000
tcp? ? ? ? 0? ? ? 0 127.0.0.1:9000? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? LISTEN? ? ? 3721/php-fpm: maste
[root@redhat7 php-7.1.2]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@redhat7 php-7.1.2]# chmod a+x /etc/init.d/php-fpm
[root@redhat7 php-7.1.2]# ll /etc/init.d/php-fpm
-rwxr-xr-x 1 root root 2401 4月? 14 21:26 /etc/init.d/php-fpm
[root@redhat7 php-7.1.2]# /etc/init.d/php-fpm start
Starting php-fpm [14-Apr-2017 21:28:09] ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)
[14-Apr-2017 21:28:09] ERROR: FPM initialization failed
failed
[root@redhat7 php-7.1.2]# netstat -nldp |grep 9000
tcp? ? ? ? 0? ? ? 0 127.0.0.1:9000? ? ? ? ? 0.0.0.0:*? ? ? ? ? ? ? LISTEN? ? ? 3721/php-fpm: maste
[root@redhat7 php-7.1.2]# kill 3721
[root@redhat7 php-7.1.2]# netstat -nldp |grep 9000
[root@redhat7 php-7.1.2]# /etc/init.d/php-fpm start
Starting php-fpm? done
[root@redhat7 php-7.1.2]# service php-fpm status
php-fpm (pid 3927) is running...
[root@redhat7 php-7.1.2]# chkconfig --add php-fpm
[root@redhat7 php-7.1.2]# chkconfig php-fpm --level 345 on
配置nginx支持PHP
useradd nginx -g nginx
[root@redhat7 php-7.1.2]# vim /usr/local/nginx/conf/nginx.conf
user? nginx nginx;
worker_processes auto;
error_log? logs/error.log;
#error_log? logs/error.log? notice;
#error_log? logs/error.log? info;
pid? ? ? ? logs/nginx.pid;
events {
? ? worker_connections? 1024;
}
http {
? ? include? ? ? mime.types;
? ? default_type? application/octet-stream;
? ? #log_format? main? '$remote_addr - $remote_user [$time_local] "$request" '
? ? #? ? ? ? ? ? ? ? ? '$status $body_bytes_sent "$http_referer" '
? ? #? ? ? ? ? ? ? ? ? '"$http_user_agent" "$http_x_forwarded_for"';
? ? #access_log? logs/access.log? main;
server_tokens off;
? ? sendfile? ? ? ? on;
? ? tcp_nopush? ? on;
tcp_nodelay on;
? ? #keepalive_timeout? 0;
? ? keepalive_timeout? 30;
send_timeout 30;
? ? gzip? on;
? ? server {
? ? ? ? listen? ? ? 80;
? ? ? ? server_name? localhost;
? ? ? ? charset UTF-8;
? ? ? ? #access_log? logs/host.access.log? main;
? ? ? ? location / {
? ? ? ? ? ? root? /data/webroot;
? ? ? ? ? ? index index.php index.html;
? ? ? ? }
? ? ? ? error_page? 404? ? ? ? ? ? ? /404.html;
? ? ? ? # redirect server error pages to the static page /50x.html
? ? ? ? #
? ? ? ? error_page? 500 502 503 504? /50x.html;
? ? ? ? location = 50x.html {
? ? ? ? ? ? root? /data/webroot;
? ? ? ? }
? ? ? ? # proxy the PHP scripts to Apache listening on 127.0.0.1:80
? ? ? ? #
? ? ? ? #location ~ \.php$ {
? ? ? ? #? ? proxy_pass? http://127.0.0.1;
? ? ? ? #}
? ? ? ? # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
? ? ? ? #
? ? ? ? location ~ \.php$ {
? ? ? ? ? ? root? ? ? ? ? /data/webroot;
? ? ? ? ? ? fastcgi_pass? 127.0.0.1:9000;
? ? ? ? ? ? fastcgi_index? index.php;
? ? ? ? ? ? fastcgi_param? SCRIPT_FILENAME? /data/webroot/$fastcgi_script_name;
? ? ? ? ? ? include? ? ? ? fastcgi_params;
? ? ? ? }
? ? ? ? # deny access to .htaccess files, if Apache's document root
? ? ? ? # concurs with nginx's one
? ? ? ? #
? ? ? ? #location ~ /\.ht {
? ? ? ? #? ? deny? all;
? ? ? ? #}
? ? }
? ? # another virtual host using mix of IP-, name-, and port-based configuration
? ? #
? ? #server {
? ? #? ? listen? ? ? 8000;
? ? #? ? listen? ? ? somename:8080;
? ? #? ? server_name? somename? alias? another.alias;
? ? #? ? location / {
? ? #? ? ? ? root? /data/webroot;
? ? #? ? ? ? index? index.html index.htm;
? ? #? ? }
? ? #}
? ? # HTTPS server
? ? #
? ? #server {
? ? #? ? listen? ? ? 443 ssl;
? ? #? ? server_name? localhost;
? ? #? ? ssl_certificate? ? ? cert.pem;
? ? #? ? ssl_certificate_key? cert.key;
? ? #? ? ssl_session_cache? ? shared:SSL:1m;
? ? #? ? ssl_session_timeout? 5m;
? ? #? ? ssl_ciphers? HIGH:!aNULL:!MD5;
? ? #? ? ssl_prefer_server_ciphers? on;
? ? #? ? location / {
? ? #? ? ? ? root? html;
? ? #? ? ? ? index? index.html index.htm;
? ? #? ? }
? ? #}
}
創(chuàng)建test.php測(cè)試nginx是否支持PHP
下面我們?cè)?data/webroot這個(gè)目錄下新建一個(gè)PHP頁(yè)面測(cè)試網(wǎng)頁(yè)就轧,文件名為test.php
然后重啟php和nginx
[root@redhat7 php-7.1.2]# service php-fpm restart
Gracefully shutting down php-fpm . done
Starting php-fpm? done
[root@redhat7 php-7.1.2]# service nginx restart
Restarting nginx (via systemctl):? ? ? ? ? ? ? ? ? ? ? ? ? [? 確定? ]
重啟PHP與nginx后? 我們?cè)跒g覽器中輸入http://192.168.42.131/test.php
轉(zhuǎn)載:?https://www.cnblogs.com/hsia2017/p/6711171.html