zoukankan      html  css  js  c++  java
  • Linux 安装php7

    最近发现直接用yum安装php更加方便

    参考: htps://jingyan.baidu.com/article/870c6fc3460834b03fe4be06.html

    由于linux的yum源不存在php7.x,所以我们要更改yum源:

    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源中有没有php7.x

    yum search php7
    

      

    yum 安装php72w和各种拓展,选自己需要的即可:

    yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
    

      

    安装完成,查看php版本

    php -v
    

      

    配置php.ini

    vi /etc/php.ini
    

      

    在Linux中将php-fpm配置成服务的方法

    1.配置php-fpm.conf

    vi /usr/local/php/etc/php-fpm.conf

    php-fpm.pid 目录必须指向:/usr/local/php/var/run/php-fpm.pid

    2.拷贝php-fpm脚本至/etc/init.d目录

    cp /home/soft/php-5.3.15/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

    3.设置权限并启动php-fpm:

    chmod 755 /etc/init.d/php-fpm
    
    /etc/init.d/php-fpm start
    
    chkconfig –add php-fpm
    

      

    最后,给出php-fpm以服务的方式启动、停止和重启:

    service php-fpm start
    
    service php-fpm stop
    
    service php-fpm reload
    

      

    问题1.Error: php72w-common conflicts with php-common-5.4.16-45.el7.x86_64,

    原因:yum默认装的是5.4的包,如果再装7的版本,就可能会冲突

    解决:在安装命令后面加上 --skip-broken

    yum -y install php*   --skip-broken
    

      

    常用命令

    linux中如何查看php指向的php.ini的绝对路径

    [root@localhost ~]# php --ini
    Configuration File (php.ini) Path: /usr/local/lib
    Loaded Configuration File:         (none)
    Scan for additional .ini files in: (none)
    Additional .ini files parsed:      (none)
    

    linux命令之查看配置文件要求的php.ini目录

    php -i | grep php.ini

    很久前写过,是5.6的,而且包含了nginx相关的,今天简单记下php7的安装,和原来基本类似

    1.安装依赖包

    yum install -y gcc gcc-c++ make zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers
    

      

    2.下载安装包

    cd /usr/local
    wget https://www.php.net/distributions/php-7.1.31.tar.gz
    

      

    3.解压和创建安装目录

    tar -zxvf php-7.1.31.tar.gz
    mkdir /usr/local/php
    

      

    4.检查当前的环境是否满足要安装软件的依赖关系
    cd php-7.1.31

    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php --enable-mbstring --enable-ftp --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --without-pear --disable-phar --enable-sockets --with-freetype-dir=/usr --with-zlib --with-libxml-dir=/usr --with-xmlrpc --enable-zip --enable-fpm --enable-xml --enable-sockets --with-gd --with-zlib --with-iconv --enable-zip --with-freetype-dir=/usr/lib/ --enable-soap --enable-pcntl --enable-cli --with-curl
    

      

    5.编译安装

    make
    make install
    

      

    6.在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php下,并改名为php.ini:

    cp php.ini-production /usr/local/php/php.ini
    

      

    [可选项] 设置让PHP错误信息打印在页面上

    vi /usr/local/php/php.ini

    display_errors = Off
    将Off改成On


    7.复制启动脚本

    $ cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    $ chmod +x /etc/init.d/php-fpm
    

    修改php-fpm配置文件:

    $ cd /usr/local/php/etc
    $ cp php-fpm.conf.default php-fpm.conf
    $ vi php-fpm.conf
    

      

    8.去掉 pid = run/php-fpm.pid 前面的分号

    $ cd php-fpm.d
    $ cp www.conf.default www.conf
    $ vi www.conf

    修改user和group的用户为当前用户(也可以不改,默认会添加nobody这个用户和用户组)


    9.启动PHP

    $ /etc/init.d/php-fpm start #php-fpm启动命令
    $ /etc/init.d/php-fpm stop #php-fpm停止命令
    $ /etc/init.d/php-fpm restart #php-fpm重启命令
    $ ps -ef | grep php 或者 ps -A | grep -i php #查看是否已经成功启动PHP
    

      

    10.开机自启动

    vi /etc/rc.local 

    将 /etc/init.d/php-fpm start 添加进去

    chmod +x /etc/rc.d/rc.local
    

      

    11.环境绑定php

    在linux下执行php时无法执行,报错:php: command not found

    解决方法:

    export PATH=$PATH:/usr/local/php7/bin

    可以输入echo $PATH 查看下有没有添加成功,如下显示:

    usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/php/bin

    如果还不行,则再输入以下命令:

    ln -s /usr/local/php/bin/php /usr/bin/php 

    再次执行测试,基本可以跑通了,亲测一直有效

    附php安装路径查询:

    #whereis php

    #which php

    #php -v   查看版本号

    差异自己去体会

    Linux下查看nginx、mysql、php的安装路径和编译参数: https://www.cnblogs.com/kenshinobiy/p/7119341.html

    参考:

    Linux 安装php7  https://www.cnblogs.com/houss/p/11296285.html

    linux下无法执行PHP命令,错误 php: command not found   https://www.cnblogs.com/doseoer/p/9542948.html

  • 相关阅读:
    (二分查找 拓展) leetcode 69. Sqrt(x)
    (二分查找 拓展) leetcode 162. Find Peak Element && lintcode 75. Find Peak Element
    (链表) lintcode 219. Insert Node in Sorted Linked List
    (二分查找 拓展) leetcode 34. Find First and Last Position of Element in Sorted Array && lintcode 61. Search for a Range
    (最短路 Floyd) P2910 [USACO08OPEN]寻宝之路Clear And Present Danger 洛谷
    (字符串 数组 递归 双指针) leetcode 344. Reverse String
    (二叉树 DFS 递归) leetcode 112. Path Sum
    (二叉树 DFS 递归) leetcode 101. Symmetric Tree
    (二叉树 递归) leetcode 144. Binary Tree Preorder Traversal
    (二叉树 递归 DFS) leetcode 100. Same Tree
  • 原文地址:https://www.cnblogs.com/cxscode/p/12575745.html
Copyright © 2011-2022 走看看