php执行linux函数

function B(){
    if(defined('LOCK') && LOCK == 'lock') return false;
    $addPort = sprintf('-A INPUT -p tcp -m tcp --dport %d -j ACCEPT%s',PORT,PHP_EOL);
    //确定是否是centos
    if(is_file('/etc/redhat-release')){
        //添加防火墙设置
        $iptables = file('/etc/sysconfig/iptables');
        //追加
        //array_push($iptables, $addPort,array_pop($iptables));
        $key = round(sizeof($iptables)/2);
        $iptables[$key] = $addPort.$iptables[$key];
        //写入
        $iptables = array_unique($iptables);
        if(true == file_put_contents('/etc/sysconfig/iptables', $iptables)){
            exec('/etc/init.d/iptables restart');
            //改写自身状态
        $self = file(__FILE__);
        $self[5] = "define('LOCK','lock');".PHP_EOL;
        file_put_contents(__FILE__, $self);
        }
        
    }
}

 

define('LOCK','lock');
<?php
/**
 *管理端口
 */
error_reporting(0);
//replace here
define('PORT',1131);
B();

 

你可能感兴趣的:(linux)