• CentOS7学习笔记--PHP环境安装


    Lamp是开源软件php的最佳环境,下面是搭建apache2+php的日志。

    测试机器环境:

    VMware Workstation 10 虚拟机

    内存:1G

    Linux版本:CentOS MinimalCD 7-1804

    一、yum安装

    1、yum安装

    		yum install httpd  #安装apache2
    		yum install php –y  #安装php
    		systemctl stop firewalld  #关闭防火墙,因为这种安装基本无法使用了,所以没有设置开放http
    		systemctl start httpd   #启动www服务器
    

    2、测试一下

    在www主目录(/etc/httpd2/httpd.conf文件里的DocumentRoot "/var/www/html")下创建一个php文件包含以下内容

    <?php

    phpinfo();

    ?>

    3、版本Apache/2.4.6 (CentOS) PHP/5.4.16

    如果程序是php5.4以下的,yum安装显然是最好的,毕竟是厂方的优化设置。

    二、yum安装,由于官方php是5.4,所以使用第三方的yum源

    CentOS/RHEL 7.x:

    yum install epel-release
    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

    CentOS/RHEL 6.x:

    yum install epel-release
    rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm

    查询php的版本(5-7版本都有)

    yum search php

    安装5.6或其它版本

    yum install php56w

    包含Apache2.4.6

    这种安装相对方便,但配置上……

    三、yum安装Apache2后在按官方php的方式make安装

    1、yum 安装 apache 后,必须安装依赖包 httpd-devel ,否则是不存在文件 apxs 的,而 apxs 的路径在编译 php 时需要配置

    ~]# yum install httpd -y
    ~]# yum install httpd-devel -y

    2、打开防火墙

    ~]# firewall-cmd --permanent --add-service http
    success
    
    ~]# firewall-cmd --reload
    success

    3、查看 apsx 所在路径

    ~]# rpm -ql httpd-devel|grep apxs
    /usr/bin/apxs
    
    /sur/share/man/man1/apxs.1.gz 
    
    //此行为 grep 结果,不同系统的路径可能不同,以实际结果为准

    4、安装必要工具

    ~]# yum install gcc -y
    
    ~]# yum install libxml2-devel -y

    5、下载php的包,保存到/usr/src

    ~]# tar -xf php-5.6.40.tar.gz

    6、编译php时,加入 apxs 路径参数,作用是促使生成 libphp5.so

    ~]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/bin/apxs --with-mysql
    
    ~]# make && make install

    7、修改apache配置文件,Centos7.4 下的apache2.4的配置文件路径为

    ~]# vi /etc/httpd/conf/httpd.conf
    
    //查看有没有下面这句话,如果没有在LoadModule后面添加:
    
    LoadModule php5_module modules/libphp5.so 
    
    //在DirectoryIndex后面添加:
    
    index.php
    
    //在AddType application/x-gzip .gz .tgz后面添加:
    
    AddType application/x-httpd-php .php 
    
    //不添加则访问.php文件将会变成下载,  .php前面有一个空格

    8、启动httpd服务

    ~]#  systemctl start httpd

    9、测试一下

    在www主目录(/etc/httpd2/httpd.conf文件里的DocumentRoot "/var/www/html")下创建一个php文件包含以下内容

    <?php

    phpinfo();

    ?>

    四、make安装Apache2+php(推荐)

    查考https://www.php.net/manual/zh/install.unix.apache2.php

    1、下载必要文件到保存到/usr/src

    http://apr.apache.org/ 下载apr、apr-util

    https://github.com/libexpat/libexpat/releases 下载expat

    tar -xf apr-1.7.0.tar.gz
    
    tar -xf apr-util-1.6.1.tar.gz
    
    yum -y install bzip2
    
    tar -xvjf expat-2.2.3.tar.bz2    #这个文件是解决util安装时报错用的
    
    tar -xf httpd-2.4.39.tar.gz
    
    tar -xf php-5.6.40.tar.gz

    Systemd 入门教程

    http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html

    2、安装必要工具

    yum install gcc -y
    
    yum install perl -y
    
    yum install libxml2-devel -y
    
    yum install pcre-devel -y

    3、首先编译apr

    cd apr-1.7.0

    vi configure

    找到RM='$RM'这一行 修改为RM='$RM -f',修改完成后保存。

    在命令模式下 /RM='$RM'可以快速找到

    ./configure --prefix=/usr/local/apr17
    
    make && make install
    
    cd ~

    4、编译expat,apr-util必要软件

    cd expat-2.2.3
    
    ./configure --prefix=/usr/local/expat23
    
    make && make install
    
    cd ~

    5、编译apr-util

    cd apr-util-1.6.1
    
    ./configure --with-apr=/usr/local/apr17/ --with-expat=/usr/local/expat23/ --prefix=/usr/local/apr16-util
    
    
    make && make install
    
    cd ~

    6、编译httpd

    cd httpd-2.4.39
    
    ./configure --prefix=/usr/local/httpd2 --sysconfdir=/etc/httpd2 --with-apr=/usr/local/apr17 --with-apr-util=/usr/local/apr16-util/   
    
    
    #--prefix是apache2安装的位置,--sysconfdir是apache2配置的位置,记牢,下面用
    
    make && make install
    
    vi /etc/httpd2/httpd.conf 修改ServerName 127.0.0.1:80
    
    

    OK Apache安装好了

    7、打开防火墙

    ~]# firewall-cmd --permanent --add-service http
    success
    
    ~]# firewall-cmd --reload
    success

    8、设置为开机自启,配置服务

    在/usr/lib/systemd/system/目录下新建一个名为httpd.service的unit文件,其内容为:

    [Unit]

    Description=apache

    [Service]

    Type=simple

    EnvironmentFile=/etc/httpd2/httpd.conf

    ExecStart=/usr/local/httpd2/bin/apachectl -k start -DFOREGROUND

    ExecReload=/usr/local/httpd2/bin/apachectl -k graceful

    ExecStop=/bin/kill -WINCH ${MAINPID}

    [Install]

    WantedBy=multi-user.target

    systemctl daemon-reload #重新装载
    
    systemctl start httpd #启动httpd服务

    设置开机自动启动httpd服务:

    systemctl enable httpd
    
    Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

    9、编译php

    cd php-5.6.40
    
    ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/httpd2/bin/apxs --with-mysql
    
    make && make install
    
    cp php.ini-development /usr/local/lib/php.ini

    修改 vi /etc/httpd2/httpd.conf

    添加 AddType application/x-httpd-php .php

    在/etc/httpd/httpd.conf配置文件里检查LoadModule php5_module modules/libphp5.so 是否已经添加

    在/usr/apache2/modules目录中查找libphp5.so文件是否存在

    重启Apache /usr/local/httpd2/bin/apachectl -k restart

    10、测试一下

    在www主目录(/etc/httpd2/httpd.conf文件里的DocumentRoot "/usr/local/httpd2/htdocs")下创建一个php文件包含以下内容

    <?php

    phpinfo();

    ?>

    OK到此php安装完毕

  • 相关阅读:
    一段简单的js让png24兼容ie6,单张图片有效
    “按需加载”的应用
    前端....
    项目小结
    Ember初始化实例
    Emberjs 分页
    Emberjs搜索
    promise链式
    Emberjs路由
    Emberjs笔记
  • 原文地址:https://www.cnblogs.com/ysztcn/p/10918322.html
Copyright © 2020-2023  润新知