appserv切换php版本经典代码

本文介绍了一个用于切换AppServ环境下PHP版本的脚本,该脚本支持PHP 5.6与PHP 7.1之间的切换。通过简单的命令行交互,用户可以轻松地更改Apache配置文件中的PHP版本设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?php
error_reporting(0);
$conf="D:/AppServ/Apache24/conf/httpd.conf";
$php5ini="D:/AppServ/php5/";
$php7ini="D:/AppServ/php7/";

echo "\n";
echo "     Change PHP version for AppServ\n\n";

AppServCMD();

function AppServCMD() {
	global $conf,$php5ini,$php7ini;
	define('STDIN',fopen("php://stdin","r"));
	echo "      Please choose your PHP Version : ";
	echo "\n";
	echo "         5) PHP 5.6\n";
	echo "         7) PHP 7.1\n";
	echo "         0) Exit\n";
	echo "\n";
	echo " Select choice : ";
	$input = trim(strtolower(fgets(STDIN)));
	
	$input = ereg_replace('\"', "\\\"", $input);
	$input = ereg_replace('\'', "\'", $input); 
	$len = strlen($input);
	switch ($input) {
		case "5" :
			$ver = "5.6";
		break;
		case "7" :
			$ver = "7.1";
		break;
		case "0" :
			echo "\n\n\n\n       Okay do nothing...... bye\n\n\n\n";
			sleep(5);
			exit;
		break;
		default :
			echo "\n    You must choose 5 or 7 only !!!";
			echo "\n       Please try again.....";
			sleep(5);
			exit;
		break;
	}
	echo "\n   Please wait .............\n\n";
	echo "\n    Changing to PHP version -------> $ver <--------\n\n";
	exec ("net stop apache24");

$file=file($conf);
foreach ($file as $vars) {

		if(preg_match("/LoadModule php/",$vars)) {
			switch ($input) {
				case "5" :
					if (preg_match("/7/",$vars)) {
						$vars=str_replace("7","5",$vars);
					}
				break;
				case "7" :
					if (preg_match("/5/",$vars)) {
						$vars=str_replace("5","7",$vars);
					}
				break;
				default :
				break;
			}
			// echo "$vars";
		}

		if(preg_match("/PHPIniDir/",$vars)) {
			switch ($input) {
				case "5" :
					$vars="PHPIniDir \"$php5ini\"\r\n";
				break;
				case "7" :
					$vars="PHPIniDir \"$php7ini\"\r\n";
				break;
				default :
				break;
			}
			// echo "$vars";
		}

	$data .= $vars;
}
	
### Write to httpd.conf
	$handle = fopen("$conf","w");
	fwrite($handle,$data);
	fclose($handle);
	sleep(2);
	exec ("net start apache24");
	echo "\n    ##########    Completed     ##########\n\n\n\n";
	sleep(2);

} // end function

?>

###关于php的cli的常量
https://www.cnblogs.com/thinksasa/archive/2013/02/27/2935158.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值