2022-04-28测试,php71安装失败......
失败原因:我的linux centos系统版本为8+,换成7.6就成功安装(猜测是安装源不对,本文的源是老源,可能不匹配高版本系统)
从0开始,在linux中安装PHP网站应用环境
正式环境拒绝使用宝塔。
提示:为避免坑多,请直接拉到最后面20210311这个位置。
安装列表:
- php7
- mysql8
- apache2.4
- nginx(可能需要)
- git
- ftp(系统可能自带有)
====以上是最基础的。==== - 安全
注意: 由于CentOS版本不一样,有的启动服务用 service start httpd,有的用systemctl start httpd.service;至于具体用哪种,自己试一下。至于为什么就不清楚了。
操作步骤:
- 查看系统运行状态
ok,看起来没什么问题。 - 查看系统信息,因为安装的软件版本可能在这个版本不适用。
指令:cat /proc/version - 查看内核(关注一下就行)
指令:uname -a - 操作系统发行信息(CentOS)
指令: lsb_release -a(注:这个命令适用于所有的linux)
===============================分割线===============================
上面的不是很重要,具体开始在下面。
安装PHP:
参考文章:
- 添加源,指令:
yum install epel-release
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
- 安装PHP7.4
yum --enablerepo=remi install php74-php - 安装php所需扩展模块,指令:
yum --enablerepo=remi install php74-php php74-php-gd(扩展名称)
注:后面可跟多个扩展,用空格隔开,格式按照这样既可:php74-php-名称,eg:php74-php-xml等
最后的格式:yum --enablerepo=remi install php74-php php74-php-gd php74-php-a php74-php-b php74-php-c这样能看懂吧
- php -m 查看已安装模块(这个命令很好用,查看开发环境PHP已安装模块,然后手动拼装成上面的格式,一次执行)(避免出现错误,请多多确认)
(反正我是一次就搞定 炫耀.gif)
这是我开发环境的扩展:
yum install php74-php-bcmath php74-php-calendar php74-php-Core php74-php-ctype php74-php-curl php74-php-date php74-php-dom php74-php-fileinfo php74-php-filter php74-php-gd php74-php-hash php74-php-iconv php74-php-json php74-php-libxml php74-php-mbstring php74-php-mysqli php74-php-mysqlnd php74-php-openssl php74-php-pcre php74-php-PDO php74-php-pdo_mysql php74-php-pdo_sqlite php74-php-Phar php74-php-readline php74-php-redis php74-php-Reflection php74-php-session php74-php-SimpleXML php74-php-SPL php74-php-standard php74-php-tokenizer php74-php-wddx php74-php-xml php74-php-xmlreader php74-php-xmlwriter php74-php-zip php74-php-zlib
- 运行并查看版本
php74 -v
注:以前是用php -v,现在默认是php74 -v,折腾我许久。。。(可能是我安装的时候操作快了,没有修改名字,所以就默认php74了) - 查看php已安装软件包
rpm - qa | grep 'php'
安装PHP7.1:
安装php
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
//查看
yum search php71w
//安装php以及扩展
yum install php71w php71w-fpm php71w-cli php71w-common php71w-devel php71w-gd php71w-pdo php71w-mysql php71w-mbstring php71w-bcmath
//开启服务
service php-fpm start
安装git:
- 指令:
yum -y install git
安装MySQL的时候卡了半天!怒了!卸载,还是宝塔香!
===============================分割线===============================
我又回来了,感觉宝塔还是不好,又把它卸载了。
继续手动安装环境。
PHP就按上面的安装.
安装apache:
- 指令:yum install httpd -y
- 查看状态:systemctl status httpd.service
- 重启:systemctl restart httpd.service
- 完成(没遇到什么问题)
安装MySQL:
- 查看是否已安装,指令:rpm -qa | grep mysql,如果存在列表就是已安装。
- 如已安装则需要卸载,指令:
yum remove mysql-xxx-xxx-
据说这样卸载不干净。
如果发现卸载不干净,则配合命令, rpm -e [包名]
我的卸载步骤:
* 先使用指令:rpm -e [包名]卸载
* 发现有依赖则用指令:yum remove mysql-xxx-xxx-卸载,之后再用上一步操作,循环操作。
- 选择rpm源:
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
- 安装 yum repo文件:
yum localinstall mysql80-community-release-el7-1.noarch.rpm
- 更新yum源:
yum clean all
yum makecache
- 查看mysql yum仓库中mysql版本,使用如下命令:
yum repolist all | grep mysql
- 到这里,我的MySQL 8.0为禁用状态,所以我要把它设置为启用状态:
#注:disable为禁用,enable为启用,将你要安装的版本设置为启用,其它版本设置为禁用。我这里显示的都是禁用,所以我只修改了mysql80-community这个为启用。
yum-config-manager --enable mysql80-community
- 安装mysql 命令:
yum install mysql-community-server
注:这一步等了很久,网速5k左右,目前已经安装了2个小时,还在动,就不管它了,不然要先卸载然后再安装,过程还是很久。(看了一下,貌似172M的服务端下载要等到下班了。。。)
===========================好吧我又回来了===========================
===========================这里是分割线,20210311===========================
===========================为避免坑,直接跳到这里来吧===========================
之前的环境装了之后,当时因为太忙了,没继续搞,所以遗留了一些问题。
由于有其它小伙伴也在用这台服务器,他的需求跟我的不一样,比如他要用Nginx,我要用apache,他要用PHP7.0或者更定版本的fpm,
而我最低要用php7.1,所以为了兼容我们的需求,我做了下降配。
配置清单:
- CentOS7.4+(这个没变化)
- PHP7.1
- Nginx1.1+
- MySQL8.0
CenOS不用改,就用买来的配置
。。。。。。手快按多了,写好了的被我撤销了,啊~~~~~~~
重来:
先装Nginx:
# 这个比较简单
yum install nginx
##开启nginx(参考:systemctl start nginx.service, nginx -s reload)
service nginx start
因为后面要用到。
再装PHP:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
//查看
yum search php71w
//安装php以及扩展
yum install php71w php71w-fpm php71w-cli php71w-common php71w-devel php71w-gd php71w-pdo php71w-mysql php71w-mbstring php71w-bcmath
//开启服务(参考:systemctl start php-fpm.service)
service php-fpm start
//修改/etc/nginx/nginx.conf 使其支持php,如遇到问题,参考如下文章。
//
//重启nginx(参考:systemctl start nginx.service, nginx -s reload)
service nginx restart