如何在webmin中配置多个PHP版本(php创建多级目录)
wptr33 2025-05-08 06:53 25 浏览
请关注本头条号,每天坚持更新原创干货技术文章。
如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习
1. 前言
如何在webmin中配置多个PHP版本?本教程将会给您一些启示和操作案例。
Webmin是一个基于浏览器的图形界面,帮助您管理Linux服务器。与cPanel或Plesk非常相似,Webmin允许您设置和管理帐户、Apache、DNS区域、用户和配置。由于这些配置可能会变得有些复杂,Webmin可以简化这个过程。结果是服务器和域设置期间的问题更少。这将带来稳定的服务器和愉快的管理体验。与Plesk或cPanel不同,Webmin是完全免费并向公众开放的。不幸的是,在Liquid Web,我们不提供对Webmin的管理支持,但当问题出现时,我们总是愿意提供尽可能多的帮助。你可以从他们的网站下载Webmin。另外,您可以在这个接口上找到一些优秀的文档。
2. 如何安装Webmin
如果要使用webmin,你需要在你的服务器上安装Webmin。对于本文,我们将主要使用安装在Ubuntu服务器上的Webmin。然而,它非常类似于CentOS,因此,我们在下面包含了两个操作系统的说明。
首先,需要访问服务器SSH。如果您不确定如何SSH到您的服务器,请访问我们关于这个主题的链接。
Linux远程连接及工具推荐
登录到服务器SSH后,请按顺序运行以下命令,或复制和粘贴整个语法。
Debian或Ubuntu安装Webmin
sudo sh -c 'echo "deb http://download.webmin.com/download/repository sarge contrib" > /etc/apt/sources.list.d/webmin.list'wget -qO - http://www.webmin.com/jcameron-key.asc | sudo apt-key add -
sudo apt-get updatesudo apt-get install webmin
CentOS或RedHat或Fedora如何安装webmin
(echo "[Webmin] name=Webmin Distribution Neutral
baseurl=http://download.webmin.com/download/yum
enabled=1
gpgcheck=1
gpgkey=http://www.webmin.com/jcameron-key.asc" >/etc/yum.repos.d/webmin.repo;
yum -y install webmin)
3. 开放防火墙端口允许访问Webmin
Webmin是一个基于web的应用程序。因此,一旦安装了Webmin,您就可以通过选择的浏览器访问Webmin。确保服务器上的端口10000是打开的,因为Webmin使用这个端口来工作。我们在下面介绍了一些步骤,以确保为iptables和firewalld打开正确的端口。
3.1 IPTABLES
比如CentOS 6系统
iptables-save > /tmp/tabsav
vi /tmp/tabsav
iptables-restore < /tmp/tabsav
您应该能够使用上面的命令来更改iptables,使其看起来与下面包含的内容类似。
# Generated by iptables-save v1.4.7 on Thu Jan 3 00:02:49 2019
*filter
:INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [3044:1198306] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Thu Jan 3 00:02:49 2019
3.2 FirewallD
比如CentOS 7 或更新的Linux发行版
firewall-cmd --zone=public --add-port=10000/tcp --permanent
firewall-cmd --reload
一旦您确保端口10000是打开的,您应该能够通过输入您的服务器IP地址和端口号“10000”来访问Webmin接口
例如:
https://192.168.1.100:10000
假设192.168.1.100是您的服务器IP。
4. 在Webmin中安装PHP版本
在很多情况下,我们可能需要使用多个PHP版本。例如,您的服务器上可能有多个域或应用程序需要较旧版本的PHP,同时您可能有为较新版本的PHP配置的较新的域。对于本文,我们将在Debian上安装PHP7和PHP5.6。
4.1 第一步: 安装PHP组件
首先,希望SSH到服务器并运行以下命令。
apt-get install php7.0-cli php7.0-fpm
您可以通过在终端中运行php -v来检查安装是否完成。
4.2 第二步: 安装多个PHP版本
这就是事情变得棘手的地方。默认情况下,Debian在官方存储库中只提供一个PHP版本。因此,我们必须为Debian添加一个额外的存储库。在添加此存储库时,最好启用用于APT的HTTPS并注册APT密钥。您可以通过执行下面包含的命令来实现这一点。
apt-get install apt-transport-https
curl https://packages.sury.org/php/apt.gpg | apt-key add -
echo 'deb https://packages.sury.org/php/ stretch main' > /etc/apt/sources.list.d/deb.sury.org.list
apt-get update
一旦添加了软件仓库,我们就可以继续将第二个PHP版本添加到服务器。
apt-get install php5.6-cli php5.6-fpm
现在,我们可以通过运行这些命令来检查服务器上的两个PHP版本。
php7.0 -V
或者
php5.6 -V
现在我们已经确认安装了两个PHP版本,您可以在以下目录中访问它们的配置文件。
/etc/php/5.6/cli/php.ini
/etc/php/7.0./cli/php.ini
4.3 第三步:指定配置文件
为了使事情更简单,稍后,我们将需要将配置文件的位置添加到Webmin。这可以在Webmin接口中完成。
- 1. 登录到Webmin
- 2. 选择导航菜单Others >> PHP Configuration
- 3. 添加PHP配置文件
- 4. 保存
您可以使用此工具为不同的PHP版本添加和编辑指令。例如,您可以编辑PHP的内存限制、超时长度、扩展名等等。这只是帮助将配置合并到一个接口中。从这里我们可以使用。htaccess文件来指定一个站点应该使用的PHP版本。
4.4 第四步: 创建配置文件
如果您的文档根目录中还没有这个文件,那么您可以通过导航到/var/www/exampledomain/并运行以下命令来添加这个文件,以指示您将使用哪个PHP版本。
echo "AddHandler application/x-httpd-php56 .php" > .htaccess | chown exampleuser. .htaccess
echo "AddHandler application/x-httpd-php70.php" > .htaccess | chown exampleuser. .htaccess
4.5 第五步:查看PHP版本
完成此步骤后,可以测试站点是否运行在所需的PHP版本上。您可以通过创建一个PHP信息页面来实现这一点。通过在文档根目录中创建一个文件,通常是在/var/www/html/的路径中
您将希望插入下面的代码并保存文件。
<? phpinfo(); ?>
创建此文件后,可以通过以下方式查看页面:访问您的域,后跟创建的文件名。 例如,www.baidu.com/phpinfo.php
6. 总结
本文主要讲解如何在webmin中配置多个PHP版本。恭喜,您现在可以使用Webmin完成日常的管理任务!
本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:
https://www.linuxrumen.com/rmxx/1583.html
点击了解更多,快速查看更多的技术文章列表。
相关推荐
- oracle数据导入导出_oracle数据导入导出工具
-
关于oracle的数据导入导出,这个功能的使用场景,一般是换服务环境,把原先的oracle数据导入到另外一台oracle数据库,或者导出备份使用。只不过oracle的导入导出命令不好记忆,稍稍有点复杂...
- 继续学习Python中的while true/break语句
-
上次讲到if语句的用法,大家在微信公众号问了小编很多问题,那么小编在这几种解决一下,1.else和elif是子模块,不能单独使用2.一个if语句中可以包括很多个elif语句,但结尾只能有一个else解...
- python continue和break的区别_python中break语句和continue语句的区别
-
python中循环语句经常会使用continue和break,那么这2者的区别是?continue是跳出本次循环,进行下一次循环;break是跳出整个循环;例如:...
- 简单学Python——关键字6——break和continue
-
Python退出循环,有break语句和continue语句两种实现方式。break语句和continue语句的区别:break语句作用是终止循环。continue语句作用是跳出本轮循环,继续下一次循...
- 2-1,0基础学Python之 break退出循环、 continue继续循环 多重循
-
用for循环或者while循环时,如果要在循环体内直接退出循环,可以使用break语句。比如计算1至100的整数和,我们用while来实现:sum=0x=1whileTrue...
- Python 中 break 和 continue 傻傻分不清
-
大家好啊,我是大田。今天分享一下break和continue在代码中的执行效果是什么,进一步区分出二者的区别。一、continue例1:当小明3岁时不打印年龄,其余年龄正常循环打印。可以看...
- python中的流程控制语句:continue、break 和 return使用方法
-
Python中,continue、break和return是控制流程的关键语句,用于在循环或函数中提前退出或跳过某些操作。它们的用途和区别如下:1.continue(跳过当前循环的剩余部分,进...
- L017:continue和break - 教程文案
-
continue和break在Python中,continue和break是用于控制循环(如for和while)执行流程的关键字,它们的作用如下:1.continue:跳过当前迭代,...
- 作为前端开发者,你都经历过怎样的面试?
-
已经裸辞1个月了,最近开始投简历找工作,遇到各种各样的面试,今天分享一下。其实在职的时候也做过面试官,面试官时,感觉自己问的问题很难区分候选人的能力,最好的办法就是看看候选人的github上的代码仓库...
- 面试被问 const 是否不可变?这样回答才显功底
-
作为前端开发者,我在学习ES6特性时,总被const的"善变"搞得一头雾水——为什么用const声明的数组还能push元素?为什么基本类型赋值就会报错?直到翻遍MDN文档、对着内存图反...
- 2023金九银十必看前端面试题!2w字精品!
-
导文2023金九银十必看前端面试题!金九银十黄金期来了想要跳槽的小伙伴快来看啊CSS1.请解释CSS的盒模型是什么,并描述其组成部分。答案:CSS的盒模型是用于布局和定位元素的概念。它由内容区域...
- 前端面试总结_前端面试题整理
-
记得当时大二的时候,看到实验室的学长学姐忙于各种春招,有些收获了大厂offer,有些还在苦苦面试,其实那时候的心里还蛮忐忑的,不知道自己大三的时候会是什么样的一个水平,所以从19年的寒假放完,大二下学...
- 由浅入深,66条JavaScript面试知识点(七)
-
作者:JakeZhang转发链接:https://juejin.im/post/5ef8377f6fb9a07e693a6061目录由浅入深,66条JavaScript面试知识点(一)由浅入深,66...
- 2024前端面试真题之—VUE篇_前端面试题vue2020及答案
-
添加图片注释,不超过140字(可选)1.vue的生命周期有哪些及每个生命周期做了什么?beforeCreate是newVue()之后触发的第一个钩子,在当前阶段data、methods、com...
- 今年最常见的前端面试题,你会做几道?
-
在面试或招聘前端开发人员时,期望、现实和需求之间总是存在着巨大差距。面试其实是一个交流想法的地方,挑战人们的思考方式,并客观地分析给定的问题。可以通过面试了解人们如何做出决策,了解一个人对技术和解决问...
- 一周热门
- 最近发表
- 标签列表
-
- git pull (33)
- git fetch (35)
- mysql insert (35)
- mysql distinct (37)
- concat_ws (36)
- java continue (36)
- jenkins官网 (37)
- mysql 子查询 (37)
- python元组 (33)
- mybatis 分页 (35)
- vba split (37)
- redis watch (34)
- python list sort (37)
- nvarchar2 (34)
- mysql not null (36)
- hmset (35)
- python telnet (35)
- python readlines() 方法 (36)
- munmap (35)
- docker network create (35)
- redis 集合 (37)
- python sftp (37)
- setpriority (34)
- c语言 switch (34)
- git commit (34)
