zoukankan      html  css  js  c++  java
  • 最详细的linux安装php过程

    本文主要和大家分享最详细的linux安装php过程,然后写好了nginx的安装配置,后面就是php的安装和mysql的安装,不过时间有限,而且放篇里也太长,所以都是分开来写,php安装完毕后就是mysql的配置了。

     

    一:检查是否安装了php

    1)yum安装检查:yum list已安装| grep php

    2)rpm安装检查:rpm -qa | grep php

    3)自己编译安装的有多种方式查询,例如查找php的执行程序,或者检查进程ps -ef | grep php等方法。

    二:检查如果没有安装php,可以准备php安装前的初始软件,用yum install xxxx即可安装,当然不嫌麻烦麻烦也可以自己编译安装,这里就不详细说了。

    1)zlib以及zlib-devel zlib提供数据压缩的函数库,也是nginx的前端软件,由于zlib需要编译php的zlib扩展,而编译中会需要使用zlib.h这个头文件,头文件在zlib-devel中,因此也需要下载zlib-devel。

    2)libxml2以及libxml-devel libxml2是一个c语言的xml程序库,可以简单的对xml进行各种操作,并支持xpath查询,以及部分支持xslt转换等功能。

    3)libxslt以及libxslt-devel如果不安装libxslt-devel会提示找到xslt.config文件,xslt是转换xml到其他格式的扩展。

    3)openssl及openssl-devel安全专有层密码库

    4)jpeg IJG的jpeg库,php的gd库所需。

    5)libpng是c语言写的比较复杂的的pngpng文件的跨平台的库,可以帮助轻松的识读pngpng文件的每一行替换,php的gd库所需。

    6)freetype及freetype-devel免费开源的且可移植的字体引擎,提供统一的接口访问多种字体格式,这两个都是gd库的依赖软件,所以如果没有安装,或者版本太低,在安装phptime设定的是安装gd库插入报错,另外不安装-devel也是会报错的,因为编译扩展的时候会ft2build.h文件,报错如下图。

    7)gd gd是php处理图形的扩展库

    8)curl,由于我的yum里的版本太低了,所以直接自己编译安装的,安装方式很简单,也就是wget curl下载地址后tar解压,新建/ usr / local / curl文件夹,然后进入curl解压后的文件夹里配置。/configure--prefix = / usr / local / curl立即,最后make以及make install就安装好了。

    注意:xxx-devel是xxx软件的开发包,包含头文件以及静态库甚至源码。

    三:php下载安装

    1)用wget下载php的tar.gz文件:wget 

    2)解压tar.gz文件:tar zxvf php-7.2.2.tar.gz

    3)新建待会要安装php的文件夹:mkdir / usr / local / php,然后进入解压后的php安装包文件夹里,配置配置:

    ./configure --prefix = / usr / local / php --with-curl = / usr / local / curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir- -with-kerberos --with-libdir = lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite- -with-pear --with-png-dir --with-xmlrpc --with-xsl --with-zlib --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization- enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-xml --enable-zip

     

    注意:

    --prefix =安装目录

    --with-使用包名称[=包目录]

    --enable-需要激活的功能

    四:配置php相关文件

    1)配置php.ini,这是php的配置文件:cp /home/myload/php-7.2.2/php.ini-development /usr/local/php/lib/php.ini

     

    2)配置php-fpm.conf,这是php-fpm配置文件:cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

    3)配置www.conf,配置用户的文件:cp etc / php-fpm.d / www.conf.default etc / php-fpm.d / www.conf

    4)将php-fpm启动文件复制到init.d文件夹中一个方便启动php:cp -R sbin / php-fpm /etc/init.d/php-fpm

    五:启动php,确定是否安装成功

    执行命令/etc/init.d/php-fpm立即

    查看是否启动:ps -ef | grep php既可以看到php启动了一些进展

    六:安装成功后配置nginx支持php

    1)更改php.ini文件,vim /usr/local/php/lib/php.ini

    通过查找cgi.fix_pathinfo = 1这个配置,并删除注释,并替换cgi.fix_pathinfo = 0,这里并不属于nginx支持php配置相关,或者专属于nginx下php的一个安全漏洞,如果此处缩小1 ,用户方可以通过上传图片来上传木马,然后通过网址访问该图片地址,并在地址后加入/xxx.php将图片作为PHP文件运行,这只是在nginx里才会存在的问题,apache和iis都没有该问题

    以上问题可以直接想到鸟哥的博客,写的相当详细:http://

    2)配置web专用的组和用户

    添加www用户组:groupadd www

    添加www用户组下的用户www:useradd -g www www

    3)更改php-fpm.conf配置

    将user = nobody的注释去掉,加入nobody改成上面配置的www用户

    将group = nobody的注释去掉,加入nobody改成上面配置的www用户组

    最后检查php-fpm.conf最后的包含的值是不是正确的www.conf目录地址,如果不正确则换成正确的目录地址。

    4)更改www.conf配置

    将user = nobody的注释去掉,加入nobody改成上面配置的www用户

    将group = nobody的注释去掉,加入nobody改成上面配置的www用户组

    5)更改nginx.conf文件/etc/local/nginx/conf/nginx.conf

    将#user = nobody去掉注释并替换user = www

    删除位置〜 .php $ {...}这段代码的注释,依次fastcgi_param里的/ scripts替换$ document_root

    最后将位置/ {...}里替换索引后面添加上index.php,确保index.php作为替代的首页

    6)重启php-fpm和nginx,可以杀死所有php-fpm然后再/etc/init.d/php-pfm即可重启,/ usr / local / nginx / sbin / nginx -s stop可以停止nginx,然后执行/ usr / local / nginx / sbin / php立即重启。

    7)在html目录里随便创建一个php文件,内容是phpinfo();,然后在浏览器中访问该文件地址,看是否正确的php相关信息,如果正确显示则配置成功。

    七:配合apache支持php,这个后续再添加,以待继续...

     

    我的官方群点击此处加入群聊【PHP/web/高级学习交流群】,一起学习,相互讨论。

    群内已经有管理将知识体系整理好(源码,学习视频等资料),欢迎加群免费领取。

    这套精品PHP教程绝不是市场上的那些妖艳贱货可比,作为web开发的佼佼者PHP并不逊色其他语言,加上Swoole后更加是如虎添翼!进军通信 、物联网行业开发百度地图、百度订单中心、虎牙、战旗TV等!寒冬裁员期过后正是各大企业扩大招人的时期,现在市场初级程序员泛滥,进阶中高级程序员绝对是各大企业急需的人才,这套学习教程适合那些1-5年以内的PHP开发者正处于瓶颈期,想要突破自己进阶中高级、架构师!名额有限,先到先得!

    腾讯T3-T4标准精品PHP架构师教程目录大全,只要你看完保证薪资上升一个台阶(持续更新)​

    部分资料截图:

     

     

     

     

    还有限时精品福利:

    ★腾讯高级PHP工程师笔试题目

    ★亿级PV高并发场景订单的处理

    ★laravel开发天猫商城组件服务

    ★战旗TV视频直播的架构项目实战

    扫描下面二维码领取

     

     

    对PHP后端技术,对PHP架构技术感兴趣的朋友,我的官方群点击此处,一起学习,相互讨论。

    群内已经有管理将知识体系整理好(源码,学习视频等资料),欢迎加群免费领取。

    本课程深度对标腾讯T3-T4标准,贴身打造学习计划为web开发人员进阶中高级、架构师提升技术,为自己增值涨薪!加入BAT特训营还可以获得内推大厂名额以及GO语言学习权限!!!

  • 相关阅读:
    Python之路【第二篇】:Python基础(8)-Tuple元组
    Python之路【第二篇】:Python基础(7)-列表
    Python之路【第一篇】:Python基础(6)
    Python之路【第一篇】:Python基础(5)
    Python之路【第一篇】:Python基础(4)
    Python之路【第一篇】:Python基础(3)
    Python之路【第一篇】:Python基础(2)
    Python之路【第一篇】:Python基础(1)
    SQL Server优化50法
    四层和七层负载均衡的区别
  • 原文地址:https://www.cnblogs.com/a609251438/p/12088717.html
Copyright © 2011-2022 走看看