下载php7.1.33
[root@localhost home]# wget https://www.php.net/distributions/php-7.1.33.tar.gz --no-check-certificate
如果下载很慢 可以使用下边的链接
php: php-7.2.12.tar.gz 下载链接:http://ftp.ntu.edu.tw/php/distributions/php-7.2.12.tar.gz
下载完成后解压[root@localhost home]# tar xf php-7.2.12.tar.gz
解压完成后在目录里有configure 这个安装配置文件 附带参数运行
[root@localhost php-7.2.12]# ./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-config-file-path=/usr/local/php/etc --with-libxml-dir --with-openssl --disable-ipv6 --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-gettext --enable-mbstring --with-mysql --with-mysqli --enable-embedded-mysqli --with-pdo-mysql --with-pcre-dir --enable-mysqlnd
编译php后发生warning:configure:WARNING:unrecognizedoptions:--with-mysql 只是php7版本不支持mysql模块 直接删除掉 --with-mysql即可
出现错误 大都是缺少库文件导致的,我们只需要加上库文件即可,如下
configure: error: libxml2 not found. Please check your libxml2 installation.
执行[root@localhost php-7.2.12]# yum install libxml2-devel -y
错误 checking for cURL 7.10.5 or greater... configure: error: cURL version 7.10.5 or later is required to compile php with cURL support
执行执行[root@localhost php-7.2.12]# yum install libcurl-devel -y
错误configure: error: jpeglib.h not found.
执行[root@localhost php-7.2.12]# yum install libjpeg-devel -y
错误configure: error: png.h not found.
执行[root@localhost php-7.2.12]# yum install libpng-devel -y
错误configure: error: freetype-config not found.
执行[root@localhost php-7.2.12]# yum install freetype-devel -y
遇到什么问题解决什么问题
执行完成之后 再执行[root@localhost php-7.2.12]# make && make install
出现以下错误时 Please submit a full bug report.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1
应为vps内存太小没到1G引起的,在./configure时加--disable-fileinfo成功解决
安装成功后进入到安装目录配置两个配置文件
[root@localhost php-7.2.12]# cd /usr/local/php/etc/
[root@localhost etc]# mv php-fpm.conf.default php-fpm.conf 自带的php-fpm配置文件
在源码目录里系统自带两个php.ini-development和php.ini-production
复制到我们设置的配置文件目录[root@localhost php-7.2.12]# cp php.ini-development /usr/local/php/etc/php.ini
完成之后我们回到/usr/local/php/启动php
在sbin中有php-fpm启动文件,运行它即可
[root@localhost sbin]# ./php-fpm
执行[root@localhost sbin]# netstat -nltp 查看启动PHP进程是否成功
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 24720/php-fpm.conf) 出现这条就代表开启PHP进程成功
完成后在/usr/local/nginx/html/中创建 index.php文件 然后去浏览器访问,这个时候是下载,是因为nginx配置问题
进入 nginx.conf 将下方的注释解开
location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; }
然后在下方加入index.php让他默认先访问index.php
location / { root html; index index.php index.html index.htm; }
改完之后需要重新启动nginx
先杀死掉nginx进程
killall nginx 然后在启动 ../sbin/nginx
现在就可以访问了