CentOS 7搭建PHP环境
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环境相关推荐
- CentOS 7 搭建JAVA环境
安装环境: LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux ...
- 在centos里搭建PHP环境
在CentOS上搭建PHP服务器环境 1,先安装apache: yum install httpd 配置ServerName vi /etc/httpd/conf/httpd.conf 将#Serve ...
- anyproxy学习4-Linux(Centos)搭建anyproxy环境
前言 anyproxy可以跨平台使用,前面第一篇是搭建在windows机器上,本篇讲如何在linux上搭建anyproxy环境,当然有mac的小伙伴也可以用mac去搭建一个环境. nodejs安装 a ...
- centos java 集成环境搭建,CentOS上搭建Tomcat环境并配置服务自启动 - Sonnyb - 博客园...
下载安装JDK 卸载原装的OpenJDK(如果有) # 查看是否安装Java java -version # 查看Java的安装包信息 rpm -qa | grep java # 卸载原装Java,为 ...
- centos操作系统搭建Lamp环境(apache php mysql)
我们通过yum安装 一.安装必备 1.yum update 检查一下系统更新 2.yum -y installgcc gcc gcc-c 安装编译环境 3.yum erasehttpd 卸载系统自带的 ...
- 基于Linux(CentOS)快速搭建LNMP环境【使用LNMP安装包一键搭建】以及升级PHP版本
使用 LNMP一键安装包 安装 安装步骤 在安装LNMP包之前我们先给Linux安装一些基本的软件,如screen.vim.gcc等.用以下命令: yum install vim git unzip ...
- 红帽linux lnmp搭建,RedHat/CentOs系统搭建lnmp环境
1.用yum安装系统lib库 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetyp ...
- centos 一键搭建lnmp环境
安装步骤: 1.使用putty或类似的SSH工具登陆VPS或服务器: 登陆后运行:screen -S lnmp 如果提示screen: command not found 命令不存在可以执行:yum ...
- linux如何搭建lamp环境,Linux操作系统下搭建LAMP环境
准备:先在目录home/csy/下建website代码目录,然后新建php文件,命名为test.php. 在test.php编写代码如下: php phpinfo(); ?> 保存并退出. 一. ...
最新文章
- LeetCode简单题之将每个元素替换为右侧最大元素
- 常见linux网络端口对照表(excel),常见子网掩码对照表Excel下载(反、正掩码)-数通工程师的傍身笔记...
- spring 三级缓存_通过画图+视频把循环依赖、监听器等等spring源码讲明白了
- 通达信缠论买卖点公式_通达信缠论多空主图指标公式
- php修改ini文件内容,php上传大文件需要修改的php.ini配置文件
- suse查找oracle安装路径,Suse11sp3安装Oracle 11gR2
- mysql 指针应用_MySQL 游标的作用与使用相关
- 韩顺平Linux操作系统视频教程
- 二次元《尤里国简介》
- 怎么把音频转换文字?三个步骤解决它
- C语言课程设计——工资管理系统
- 02_函数定义及使用函数
- 三维可视化常见的技术路线浅析
- java案例_面向对象编程_Stool
- NER综述 | 命名实体识别的过去和现在
- 国家队入场,中国数字资产交易市场或将迎来新一轮“洗牌”
- QT自动适配高分屏的解决方案
- 如何0基础学传奇开服技术?(学传奇开服技术教程)
- MES管理系统中的批次管理,贯穿了生产制造的整个流程
- 判断二叉树是否为满二叉树
热门文章
- leetcode855. 考场就座
- 金山词霸命令行客户端
- 服务器主板的jtag模块作用,一种基于申威芯片的国产服务器主板的实现方法与流程...
- (贪心+最长上升子序列) acwing 896. 最长上升子序列 II
- 2020 Vue 基于Element-UI开发 常用模板使用 【整理】
- 《代码大全2》第10章 使用变量的一般事项
- 护航绿色低碳经济,让数据中心的可持续发展“有章可循”
- 域名注册 API 已全面支持
- 算法-哈希算法(上)
- 二维海浪波数谱的matlab,常见海浪谱