安装php
一、检查是否已安装
1)yum安装检查:yum list installed |grep php 2)rpm安装检查:rpm -qa |grep php 3)自己编译安装的有多种方式查询,例如查找php的执行程序,或者检查进程ps -ef |grep php等方
二、下载安装
1)用wget下载php的tar.gz文件:wget http://br2.php.net/get/php-7.2.2.tar.gz 2)解压tar.gz文件:tar zxvf php-7.2.2.tar.gz 3)新建待会要安装php的文件夹:mkdir /usr/local/php,然后进入解压后的php安装包文件夹里,配置configure: ./configure --prefix=/usr/local/php --with-curl=/usr/local/curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip 注意:如果报错缺少lib,请按提示执行包安装,一般使用yum install **即可安装 4)make && make install 执行成功后目标目录/usr/local/php下会生成
三、配置php
1)配置php.ini,拷贝源文件目录中的ini到安装目录:cp php-7.2.2/php.ini-development /usr/local/php/lib/php.ini 2)配置php-fpm.conf,这是php-fpm配置文件:cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 3)配置www.conf,配置用户的文件:cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf 4)将php-fpm启动文件复制到init.d文件夹中一份方便启动php:cp -R /usr/local/php/sbin/php-fpm /etc/init.d/php-f
四、确认安装
执行命令/etc/init.d/php-fpm即可 查看是否启动:ps -ef |grep php既可以看到php启动了哪些进程
五、配置nginx
1)更改php.ini文件,vim /usr/local/php/lib/php.ini 通过查找cgi.fix_pathinfo=1这个配置,并去除注释,并改为cgi.fix_pathinfo=0,这里并不属于nginx支持php配置相关,而是专属于nginx下php的一个安全漏洞,如果这里值为1,用户方可以通过上传图片来上传木马,然后通过url访问该图片地址,并在地址后加入/xxx.php将该图片作为php文件运行,这是只有在nginx里才会存在的问题,apache和iis都没有该问题 以上问题可以直接参看鸟哥的博客,写的相当详细:http://www.laruence.com/2010/05/20/1495.html 2)配置web专用的组和用户 添加www用户组:groupadd www 添加www用户组下的用户www:useradd -g www www 3)更改php-fpm.conf配置 将user=nobody的注释去掉,并将nobody改成上面配置的www用户 将group=nobody的注释去掉,并将nobody改成上面配置的www用户组 最后检查php-fpm.conf最后的include的值是不是正确的www.conf目录地址,如果不正确则换成正确的目录地址。 4)更改www.conf配置 将user=nobody的注释去掉,并将nobody改成上面配置的www用户 将group=nobody的注释去掉,并将nobody改成上面配置的www用户组 5)更改nginx.conf文件 /etc/local/nginx/conf/nginx.conf 将#user=nobody去掉注释并改为user=www 去除 location ~ \.php${...}这段代码的注释,并将fastcgi_param里的/scripts改为
在nginx配置文件nginx.conf中的server节点添加如下代码:
index index.html index.htm index.php; #设置默认页,可不设置 location ~\.php$ { root /data/kodecloud/; #目标根目录 fastcgi_pass 127.0.0.1:9000; #php的端口 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /$document_root$fastcgi_script_name; include fastcgi_params; }
6)重启php-fpm和nginx,可以killall php-fpm然后再/etc/init.d/php-pfm即可重启,/usr/local/nginx/sbin/nginx -s stop即可停止nginx,然后执行/usr/local/nginx/sbin/php即可重启。 注意:启动过程若出现端口占用使用:fuser -k 端口号/tcp 7)在html目录里随便创建一个php文件,内容是phpinfo();,然后在浏览器中访问该文件地址,看是否得到正确的php相关信息,如果正确显示则配置成功