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查看版本验证安装。看到下图证明安装成功。

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才算安装完成。

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

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;
}

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

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

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

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

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

CentOS 7搭建PHP环境相关推荐

  1. CentOS 7 搭建JAVA环境

    安装环境: LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux ...

  2. 在centos里搭建PHP环境

    在CentOS上搭建PHP服务器环境 1,先安装apache: yum install httpd 配置ServerName vi /etc/httpd/conf/httpd.conf 将#Serve ...

  3. anyproxy学习4-Linux(Centos)搭建anyproxy环境

    前言 anyproxy可以跨平台使用,前面第一篇是搭建在windows机器上,本篇讲如何在linux上搭建anyproxy环境,当然有mac的小伙伴也可以用mac去搭建一个环境. nodejs安装 a ...

  4. centos java 集成环境搭建,CentOS上搭建Tomcat环境并配置服务自启动 - Sonnyb - 博客园...

    下载安装JDK 卸载原装的OpenJDK(如果有) # 查看是否安装Java java -version # 查看Java的安装包信息 rpm -qa | grep java # 卸载原装Java,为 ...

  5. centos操作系统搭建Lamp环境(apache php mysql)

    我们通过yum安装 一.安装必备 1.yum update 检查一下系统更新 2.yum -y installgcc gcc gcc-c 安装编译环境 3.yum erasehttpd 卸载系统自带的 ...

  6. 基于Linux(CentOS)快速搭建LNMP环境【使用LNMP安装包一键搭建】以及升级PHP版本

    使用 LNMP一键安装包 安装 安装步骤 在安装LNMP包之前我们先给Linux安装一些基本的软件,如screen.vim.gcc等.用以下命令: yum install vim git unzip ...

  7. 红帽linux lnmp搭建,RedHat/CentOs系统搭建lnmp环境

    1.用yum安装系统lib库 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetyp ...

  8. centos 一键搭建lnmp环境

    安装步骤: 1.使用putty或类似的SSH工具登陆VPS或服务器: 登陆后运行:screen -S lnmp 如果提示screen: command not found 命令不存在可以执行:yum ...

  9. linux如何搭建lamp环境,Linux操作系统下搭建LAMP环境

    准备:先在目录home/csy/下建website代码目录,然后新建php文件,命名为test.php. 在test.php编写代码如下: php phpinfo(); ?> 保存并退出. 一. ...

最新文章

  1. LeetCode简单题之将每个元素替换为右侧最大元素
  2. 常见linux网络端口对照表(excel),常见子网掩码对照表Excel下载(反、正掩码)-数通工程师的傍身笔记...
  3. spring 三级缓存_通过画图+视频把循环依赖、监听器等等spring源码讲明白了
  4. 通达信缠论买卖点公式_通达信缠论多空主图指标公式
  5. php修改ini文件内容,php上传大文件需要修改的php.ini配置文件
  6. suse查找oracle安装路径,Suse11sp3安装Oracle 11gR2
  7. mysql 指针应用_MySQL 游标的作用与使用相关
  8. 韩顺平Linux操作系统视频教程
  9. 二次元《尤里国简介》
  10. 怎么把音频转换文字?三个步骤解决它
  11. C语言课程设计——工资管理系统
  12. 02_函数定义及使用函数
  13. 三维可视化常见的技术路线浅析
  14. java案例_面向对象编程_Stool
  15. NER综述 | 命名实体识别的过去和现在
  16. 国家队入场,中国数字资产交易市场或将迎来新一轮“洗牌”
  17. QT自动适配高分屏的解决方案
  18. 如何0基础学传奇开服技术?(学传奇开服技术教程)
  19. MES管理系统中的批次管理,贯穿了生产制造的整个流程
  20. 判断二叉树是否为满二叉树

热门文章

  1. leetcode855. 考场就座
  2. 金山词霸命令行客户端
  3. 服务器主板的jtag模块作用,一种基于申威芯片的国产服务器主板的实现方法与流程...
  4. (贪心+最长上升子序列) acwing 896. 最长上升子序列 II
  5. 2020 Vue 基于Element-UI开发 常用模板使用 【整理】
  6. 《代码大全2》第10章 使用变量的一般事项
  7. 护航绿色低碳经济,让数据中心的可持续发展“有章可循”
  8. 域名注册 API 已全面支持
  9. 算法-哈希算法(上)
  10. 二维海浪波数谱的matlab,常见海浪谱