From c56c1c7274fa082eefc4e6f8dc9cecff14470d51 Mon Sep 17 00:00:00 2001 From: Mr Chen Date: Fri, 1 Nov 2024 21:28:39 +0800 Subject: [PATCH] Update __init__.py --- web/admin/site/__init__.py | 40 +++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/web/admin/site/__init__.py b/web/admin/site/__init__.py index de1ab88aa..9760ebc7d 100644 --- a/web/admin/site/__init__.py +++ b/web/admin/site/__init__.py @@ -83,4 +83,42 @@ def get_cli_php_version(): if link_re.find(v['version']) != -1: return mw.returnData({"select": v, "versions": php_versions}) - return mw.getJson({"select": php_versions[0],"versions": php_versions}) \ No newline at end of file + return mw.getJson({"select": php_versions[0],"versions": php_versions}) + +@blueprint.route('/get_cli_php_version', endpoint='get_cli_php_version',methods=['POST']) +@panel_login_required +def get_cli_php_version(): + if mw.isAppleSystem(): + return mw.returnData(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.returnData(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.returnData(True, '设置成功!') + +