PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。用WordPress搭建的博客需要用到PHP环境,进行博客环境的编译处理。

    安装PHP分为这几个步骤: ​​安装cmake​​→​​安装libzip​​→​​安装PHP​​→​​配置启动文件​​→​​创建PHP测试文件​

一、安装cmake

1、为了避免不必要的麻烦,先安装需要到的依赖。复制粘贴,然后下载安装完成就可以。

yum install gcc \
gcc-c++ \
libxml2 \
libxml2-devel \
openssl \
openssl-devel \
libcurl \
libcurl-devel \
freetype \
freetype-devel \
libjpeg \
libjpeg-devel \
libpng \
libpng-devel \
libxslt \
libxslt-devel \
systemd-devel \
libicu-devel \
libedit-devel

2、因为用 ​​yum install cmake -y​​ 安装的是3.0以下的版本,比较旧。一般需要3.0以上的版本。所以先查看yum库里面有没有3.0的版本。

yum list all|grep cmake

3、使用 ​​yum​​​安装 ​​cmake3​​。

yum install epel-release -y
yum install cmake3 -y

4、安装完成以后输入​​cmake -version​​查看版本验证安装。看到下图证明安装成功。

CentOS 7搭建PHP环境_服务器

5、因为我们安装​​PHP​​​的时候使用的是​​cmake​​​命令。而3.0版本是​​cmake3​​​。为了方便使用,把​​cmake3​​​改为​​cmake​​​。查看位置,然后改名为​​cmake​​。

输入:which cmake3
看到输出:/usr/bin/cmake3
修改名称:cp /usr/bin/cmake3 /usr/bin/cmake

二、安装libzip

1、不能用 ​​yum install libzip​​安装,这样版本太低,可以到官网下载:libzip官网地址。然后用​​xftp​​上传到服务器。也可以直接用​​wget​​命令下载。

wget https://libzip.org/download/libzip-1.5.2.tar.gz

2、如果没有​​wget​​​命令,可以用​​yum​​进行安装。

yum install wget -y

3、下载好以后进行解压。

tar xf libzip-1.5.2.tar.gz

4、进入​​libzip-1.5.2​​目录,进行编译。完成以下操作即可。

进入目录:cd libzip-1.5.2
创建build目录:mkdir build
进入build目录:cd build
输入命令:cmake ..
输入命令:make
输入命令:make install

三、安装PHP(源码安装)

1、下载​​PHP​​,可以到官网下载:PHP官网地址。然后用​​xftp​​上传到服务器。也可以直接用​​wget​​命令下载。进行解压。

wget https://www.php.net/distributions/php-7.3.12.tar.gz
tar xf php-7.3.12.tar.gz
进入目录:cd php-7.3.12

2、配置​​PHP​​需要创建用户。

创建用户:useradd -M -s /sbin/nologin www
查看用户信息:id www

3、需要修改库加载路径。

用vi编辑器打开:vim /etc/ld.so.conf
添加如下几行:
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64
使之生效:ldconfig

4、配置​​PHP​​,复制粘贴即可。

./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-config-file-scan-dir=/usr/local/php/etc/conf.d \
--disable-cgi \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-ftp \
--with-curl \
--with-gd \
--with-gettext \
--with-iconv-dir \
--with-kerberos \
--with-libedit \
--with-openssl \
--with-pcre-regex \
--with-pdo-mysql \
--with-xsl \
--with-zlib \
--with-mhash \
--with-mysqli \
--with-png-dir=/usr/lib \
--with-jpeg-dir=/usr/lib\
--with-freetype-dir=/usr/lib \
--enable-mysqlnd \
--enable-bcmath \
--enable-libxml \
--enable-inline-optimization \
--enable-gd-jis-conv \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--enable-zip \
--enable-calendar \
--enable-intl \
--enable-exif

5、如果遇到类似的问题​​configure: error: Package requirements (sqlite3 > 3.7.4) were not met: No package 'sqlite3' found​​​是正常现象。因为有的系统有些依赖不存在,需要手动安装。根据提示用​​yum -y install ......​​​安装相应的依赖即可。依赖安装完重复第4步操作,直到最后出现​​Thank you for using PHP​​和下图样式。PHP才算安装完成。

CentOS 7搭建PHP环境_nginx_02

6、需要编译`PHP`。(可能要`10`分钟左右,一般不会有错。)

进行编译:make
完成后进行:make install

四、配置PHP启动文件

1、需要复制一份配置文件到指定位置。将​​php-fpm.conf.default​​​改为​​php-fpm.conf​

复制配置文件:cp php.ini-development /usr/local/php/etc/php.ini
进入目录: cd /usr/local/php/etc
修改文件名:cp php-fpm.conf.default php-fpm.conf

2、拷贝启动脚本到指定目录。因为要用​​systemctl​​​启动,所以要将启动脚本复制到​​/usr/lib/systemd/system/​​​下。将​​www.conf.default​​​改为​​www.conf​

拷贝启动脚本到指定目录:
cp /root/php-7.3.12/sapi/fpm/php-fpm.service /usr/lib/systemd/system/
进入目录:cd /usr/local/php/etc/php-fpm.d/
修改文件名:cp www.conf.default www.conf

3、用命令进行启动、查看状态、设置开机自启。也可以直接用​​/usr/local/php/sbin/php-fpm​​启动。

启动 PHP:
systemctl start php-fpm
查看状态:
systemctl status php-fpm
设置开机自启:
systemctl enable php-fpm
查看进程是否存在:
ps -ef|grep php-fpm
查看端口是否启动:
ss -lntup|grep 9000

CentOS 7搭建PHP环境_官网_03

4、配置`Nginx`解析。如果没有安装`Nginx`请查看:​


CentOS 7安装并配置Nginx。找到配置文件的`server`部分,修改站点路径,我这里为`root`根目录下的:`/www`,添加以下语句。首页文件改为`index.php`。

进入Nginx配置文件目录:
cd /etc/nginx/
server内添加:
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

CentOS 7搭建PHP环境_官网_04

5、创建PHP测试文件。在浏览器输入`你的IP/index.php`,看到以下页面证明PHP已经测试完成,可以使用了。

进入目录:cd /www/
创建PHP测试文件:
echo “<?php phpinfo();?>” >index.php
重启Nginx:
nginx -s reload

CentOS 7搭建PHP环境_服务器_05

五、总结(安装PHP遇到过的那些坑)

1、刚开始没有添加依赖,直接安装了​​cmake3​​​,然后安装​​libzip​​​的时候需要​​make​​​编译。然后就出错了。​​cmake ..​​​一直报错,​​make​​​也出现错误。后来才知道缺少​​gcc​​依赖。所以要先安装依赖。

2、选择​​PHP​​​版本的时候尽量不要用最新版本。问题太多。我刚开始安装的是​​PHP-7.4.2​​​(当时最新版本),安装完成,编译也通过了,最后启动的时候报错,错误是我的系统有问题。(我觉得系统没有问题)。后来换成了​​PHP-7.3.12​​。最后居然成功启动了。所以说还是用稳定版本比较好。