php环境剖析篇

我搭建过很多次环境,windows下wamp,windows下vm虚拟机运行centos,windows下docker运行镜像,mac,ubuntu,linux下docker线上centos等等服务器,我发现很多时候我都是在为了搭环境而搭环境,我总是百度了一篇类似的文章然后照着教程一步一步,最后发现成功了,当然也没少遇到没有结果搞不定的情况,但是后来我发现那是不对的,那都是在为了搭建环境而搭建环境,其实仔细想想我并未冲着环境来的,我只是想好好运行php这个软件,只不过你不够了解它的每一步构成,你只会照着文档一步一步,稍微你的环境可能跟写文章的家伙不同,你就丈二和尚摸不着头脑了,这么说是因为我曾经就是这样子的,我照着文档,恨不得安装目录都跟它保持得一模一样,期望这样的方式不要出现任何症状,没错!! 这是一种侥幸心理,你期望不出现问题从而走向成功的安装软件,那我只能说你成功了也是运气而且你收获的也只能是下次安装继续的心虚,因为你依旧没有能力去解决问题。我们试图想想,我们如果清楚这个软件运行的根本,那么当这个软件不能运行的时候不就可以知道当前遇到的阻力可能在哪里,你有排查的能力,你会很快定位原因并处理的,这才是让你越来越有信心的唯一方式。

下面我来从系统开始,好好的讲一遍在linux搭建服务器的流程:

首先我就当我们现在有了一台linux操作系统的主机啊,这上面得有我们常用的,vim,make,gcc,wget,git,curl,telnet,leof这些常用的软件吧,哈哈!很多时候可能发现并没有,因为我们无法晓得我们以后会操作一个什么样的系统,但是没关系,如果我们保持清醒的头脑,第一步就去检查我们当前的操作系统环境是啥里面为我们提供了哪些现成软件,哪些我想要但没有的,那么你没有大不了我自己再装一遍就是啦,这样的一个过程不就能保证你以后不管遇到啥主机环境,不都可以变成你自己想要的环境么。怎么变?第一步检查当前操作系统是mac,centos还是ubuntu,也就是你linux系统的发型版,因为不同的发行版有自己最适合的方式,centos就是yum了,这里啰嗦一句用yum安装软件其实就是为了避免自己去处理一堆依赖问题,这种问题费力不讨好不说,你还未必就能解决得了,个人觉得还是挺有挑战的,我觉得你还是把你的主要注意力放在你要运行的软件上,就算要源码安装软件,请你选择源码安装你自己的开发语言的那个软件,把你的注意力尽量集中在那(源码编译安装配置方式更丰富)。说回来,第一步查看我们当前系统的镜像源,最好直接更新成当前系统发行版主流的镜像源,镜像源可以保证后期我们安装软件的时候更顺畅(依赖处理溜,各种软件镜像都有现成的),然后yum update,再yum install -y vim,make,gcc,wget,git... 后面接我们想要安装的必备神器,这样就可以以不变应万变了。

yum install docker-ce 先在linux中安装一个docker软件吧,因为docker搭建的容器我可以用完即焚。

#!/bin/bash

worker_local=/usr/local/src/

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 clean all

yum makecache

yum -y update

yum  install -y gcc git make wget curl lsof telnet

yum install -y php71w php71w-opcache php71w-bcmath php71w-cli php71w-common php71w-dba php71w-devel php71w-embedded php71w-enchant php71w-fpm php71w-gd php71w-imap php71w-interbase php71w-intl php71w-ldap php71w-mbstring php71w-mcrypt php71w-mysql php71w-odbc php71w-opcache php71w-pdo php71w-pdo_dblib php71w-pear php71w-pecl-apcu php71w-pecl-imagick php71w-pecl-xdebug php71w-pgsql php71w-phpdbg php71w-process  php71w-pspell php71w-recode php71w-snmp  php71w-soap php71w-tidy php71w-xml php71w-xmlrpc

cd /usr/local/src

wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz

tar -zxvf libevent-2.1.8-stable.tar.gz

cd libevent-2.1.8-stable

./configure --prefix=/usr/local/libevent-2.1.8

make

make install

yum install libevent-devel -y

pecl install event

echo 'extension=event.so' >> /etc/php.d/sockets.ini

cd ${worker_local}

wget http://archive.apache.org/dist/kafka/1.0.0/kafka_2.11-1.0.0.tgz

cp ./jdk/*

echo 'export JAVA_HOME=/usr/local/src/jdk1.8.0_192/

export JRE_HOME=/$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin' >> /etc/profile

source /etc/profile

你可能感兴趣的:(php环境剖析篇)