CentOS8中安装php7与php5并同时运行

写再前面,最近新搞个window,所以要配很多环境,这不装完了,写点博客记录下,我是装完后再写的博客,所以如果博客有什么问题,如果你发现了请指出来,我一定及时改,谢谢了。

前提

CentOS8环境

apachectl安装完毕

alex@Alex ~> apachectl -v
Server version: Apache/2.4.37 (centos)
Server built:   Nov  4 2020 03:20:37

我在dnf安装完后,找不到安装目录,很烦。。。,找了很久,贴一下

/opt/remi      不知道啥用
/var/opt/remi   不知道啥用
/etc/opt/remi 对应php版本配置文件
/etc/php.ini  这个大家都知道

安装php7

获取所有可用PHP版本的列表

dnf module list php

输出如下

CentOS-8 - AppStream - mirrors.aliyun.com
Name     Stream          Profiles                      Summary                  
php      7.2 [d]         common [d], devel, minimal    PHP scripting language   
php      7.3             common [d], devel, minimal    PHP scripting language   
php      7.4             common [d], devel, minimal    PHP scripting language   
提示:[d]默认,[e]已启用,[x]已禁用,[i]已安装

重置php

dnf module reset php

启用php7.4

dnf module enable php:remi-7.4

安装目标版本 7.4

dnf -y install php php-cli php-common  php-mysql php-cgi php-mbstring php-gd php-process php-mcrypt php-soap libjpeg* php-pear php-xml php-devel php-memcached php-redis php-gearman php-pecl-mongodb

验证

alex@Alex ~> php -v
PHP 7.4.15 (cli) (built: Feb  2 2021 14:19:57) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.15, Copyright (c), by Zend Technologies
    with Xdebug v2.9.8, Copyright (c) 2002-2020, by Derick Rethans

安装php5

安装php5.6

dnf install php56 php56-php-cli php56-php-common php56-php-opcache php56-php-mysql php56-php-cgi php56-php-mbstring php56-php-gd php56-php-process php56-php-mcrypt php56-php-soap php56-php-pear php56-php-xml php56-php-memcached php56-php-pecl-redis4
php56-php-gearman php56-php-pecl-mongodb php56-php-mysqlnd php56-php-pecl-xdebug php56-php-pecl-xhprof

验证

php56 -v
PHP 5.6.40 (cli) (built: Feb  3 2021 12:06:26) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
    with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans

apche配置

这里我直接配置得vhost,配置如下:

#下一行"*:80"在httpd.conf的配置文件中必须监听该端口
<VirtualHost *:80>
    #设置主机名
    ServerName site74
    #设置该站点根目录
    DocumentRoot "/home/alex/code/php/php7"
    #默认打开的页面设置
    DirectoryIndex index.html index.php
    <Directory "/home/alex/code/php/php7">
        #用于显示设定“可显示文件列表”(当无可显示网页的时候)
        Options Indexes FollowSymLinks
        #启用文件夹访问控制的文件.htaccess设置
        AllowOverride All
        #请求控制
        Require all granted
   </Directory>

    ErrorLog /home/alex/logs/php-project-error_log
    CustomLog /home/alex/logs/php-project-access_log common
    <IfModule !mod_php7.c>
    <FilesMatch \.(php|phar)$>
        SetHandler "proxy:unix:/var/opt/remi/php74/run/php-fpm/www.sock|fcgi://localhost"
    </FilesMatch>
  </IfModule>
</VirtualHost>

<VirtualHost *:80>
    #设置主机名
    ServerName site56
    #设置该站点根目录
    DocumentRoot "/home/alex/code/php/php5"
    #默认打开的页面设置
    DirectoryIndex index.html index.php
    <Directory "/home/alex/code/php/php5">
        #用于显示设定“可显示文件列表”(当无可显示网页的时候)
        Options Indexes FollowSymLinks
        #启用文件夹访问控制的文件.htaccess设置
        AllowOverride All
        #请求控制
        Require all granted
   </Directory>

    ErrorLog /home/alex/logs/php-project-error_log
    CustomLog /home/alex/logs/php-project-access_log common
    <IfModule !mod_php5.c>
    <FilesMatch \.(php|phar)$>
        SetHandler "proxy:unix:/var/opt/remi/php56/run/php-fpm/www.sock|fcgi://localhost"
    </FilesMatch>
  </IfModule>
</VirtualHost>

效果

在两个站点根目录写入info.php文件,如下

<?php
phpinfo()
?>

直接在虚拟机访问

CentOS8中安装php7与php5并同时运行

CentOS8中安装php7与php5并同时运行

window系统访问

配置host文件,文件位置C:\Windows\System32\drivers\etc
CentOS8中安装php7与php5并同时运行

上一篇:Liunx(centos8)下的yum的基本用法和实例


下一篇:手写深拷贝