php命令功能

pull/282/head
midoks 2 years ago
parent deb3a40fb7
commit 43c287132b
  1. 53
      class/core/site_api.py
  2. 45
      route/static/app/site.js
  3. 1
      route/templates/default/site.html

@ -139,6 +139,54 @@ class site_api:
data['default_site'] = mw.readFile('data/default_site.pl')
return mw.getJson(data)
def getCliPhpVersionApi(self):
php_bin = '/usr/bin/php'
php_versions = self.getPhpVersion()
php_versions = php_versions[1:]
if len(php_versions) < 1:
return mw.returnJson(False, '未安装PHP,无法设置')
# if not os.path.exists(php_bin) or not os.path.islink(php_bin):
return mw.getJson({
"select": php_versions[0],
"versions": php_versions})
def setCliPhpVersionApi(self):
if mw.isAppleSystem():
return mw.returnJson(False, "开发机不可设置!")
version = request.form.get('version', '')
php_bin = '/usr/bin/php'
php_bin_src = "/www/server/php/%s/bin/php" % version
php_ize = '/usr/bin/phpize'
php_ize_src = "/www/server/php/%s/bin/phpize" % version
php_fpm = '/usr/bin/php-fpm'
php_fpm_src = "/www/server/php/%s/sbin/php-fpm" % version
php_pecl = '/usr/bin/pecl'
php_pecl_src = "/www/server/php/%s/bin/pecl" % version
php_pear = '/usr/bin/pear'
php_pear_src = "/www/server/php/%s/bin/pear" % version
if not os.path.exists(php_bin_src):
return mw.returnJson(False, '指定PHP版本未安装!')
is_chattr = mw.execShell('lsattr /usr|grep /usr/bin')[0].find('-i-')
if is_chattr != -1:
mw.execShell('chattr -i /usr/bin')
mw.execShell("rm -f " + php_bin + ' ' + php_ize + ' ' +
php_fpm + ' ' + php_pecl + ' ' + php_pear)
mw.execShell("ln -sf %s %s" % (php_bin_src, php_bin))
mw.execShell("ln -sf %s %s" % (php_ize_src, php_ize))
mw.execShell("ln -sf %s %s" % (php_fpm_src, php_fpm))
mw.execShell("ln -sf %s %s" % (php_pecl_src, php_pecl))
mw.execShell("ln -sf %s %s" % (php_pear_src, php_pear))
if is_chattr != -1:
mw.execShell('chattr +i /usr/bin')
mw.writeLog('面板设置', '设置PHP-CLI版本为: %s' % version)
return mw.returnJson(True, '设置成功!')
def setPsApi(self):
mid = request.form.get('id', '')
ps = request.form.get('ps', '')
@ -266,7 +314,8 @@ class site_api:
return mw.returnJson(True, '站点删除成功!')
def getPhpVersionApi(self):
return self.getPhpVersion()
data = self.getPhpVersion()
return mw.getJson(data)
def setPhpVersionApi(self):
siteName = request.form.get('siteName', '')
@ -2311,7 +2360,7 @@ location ^~ {from} {\n\
tmp['name'] = 'PHP-' + matchVer
data.append(tmp)
return mw.getJson(data)
return data
# 是否跳转到https
def isToHttps(self, siteName):

@ -944,6 +944,51 @@ function getDefaultSite(){
},'json');
}
function setPHPVer(){
$.post('/site/get_cli_php_version','',function(rdata){
if(typeof(rdata['status'])!='undefined'){
layer.msg(rdata.msg,{icon:rdata.status?1:2});
return;
}
var opt = '';
var selected = '';
for(var i=0;i<rdata.versions.length;i++){
selected = '';
if(rdata.select.version == rdata.versions[i].version) selected = 'selected';
opt += '<option value="' + rdata.versions[i].version + '" ' + selected + '>' + rdata.versions[i].name + '</option>';
}
layer.open({
type: 1,
area: '530px',
title: '设置PHP-CLI(命令行)版本',
closeBtn: 1,
shift: 5,
shadeClose: true,
btn:["确定","取消"],
content:'<div class="bt-form ptb15">\
<p class="line">\
<span class="tname text-right">PHP-CLI版本</span>\
<select id="default_ver" class="bt-input-text" style="width: 300px;">'+opt+'</select>\
</p>\
<ul class="help-info-text c6 plr20">\
<li>此处可设置命令行运行php时使用的PHP版本</li>\
<li>安装新的PHP版本后此处需要重新设置</li>\
<li>其它PHP版本在命令行可通过php+版本的方式运行php74,php80</li>\
</ul>\
</div>',
yes:function(){
var name = $("#default_ver").val();
var loadT = layer.msg('正在处理,请稍候...',{icon:16,time:0,shade: [0.3, '#000']});
$.post('/site/set_cli_php_version','version='+version,function(rdata){
layer.msg(rdata.msg,{icon:rdata.status?1:5});
},'json');
},
});
},'json');
}
function setIndexList(id){
var Dindex = $("#Dindex").val().replace(new RegExp(/(\n)/g), ",");
if(id == undefined ){

@ -23,6 +23,7 @@
<button onclick="siteDefaultPage();" class="btn btn-default btn-sm btn-title" type="button">修改默认页</button>
<button onclick="getDefaultSite();" class="btn btn-default btn-sm btn-title" type="button">默认站点</button>
<button onclick="setClassType();" class="btn btn-default btn-sm btn-title" type="button">分类管理</button>
<button onclick="setPHPVer();" class="btn btn-default btn-sm btn-title" type="button">PHP命令行版本</button>
<span>
<button batch="true" style="float: right; margin-left: 10px;display: none;" onclick="allDeleteSite();" class="btn btn-default btn-sm">删除选中</button>
</span>

Loading…
Cancel
Save