Viewing File: /opt/alt/alt-php-config/alt-php-panel-configuration.pyc

ó
ÒÉ‚jc@sddlZddlZddlZddlZddlZddlZddlmZyddlj	j
Z
Wnek
rddlZ
nXdZ
d„Zd„Zd„Zd	„Zd
„Zd„Zd„Zd
„Zd„Zd„ZedkrejeejdƒƒndS(iÿÿÿÿN(tcopy2tchecktinstallt	uninstallcCstjjdƒstStS(sk
    Check is it environment with installed plesk panel

    @rtype  : bool
    @return  True or False
    s/usr/sbin/plesk(tostpathtexiststFalsetTrue(((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytis_plesksc
Cs\tjjdƒstSttjdƒ(}tjddgd|d|ƒ}WdQX|dkS(sj
    Check if we're in environment with enabled cagefs

    @rtype  : bool
    @return  True or False
    s/usr/sbin/cagefsctltwbs--cagefs-statuststdouttstderrNi(RRRRtopentdevnullt
subprocesstcall(Rtresult((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pyt
has_cagefsscCstƒotƒS(sŽ
    Check is it environment with installed plesk panel on clean ELS system without cagefs

    @rtype  : bool
    @return  True or False
    (R	R(((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pyt
is_bare_plesk-scCsƒ|rtj}n	tj}tjƒ}|j|ƒd}tj|dƒ}|j|ƒtjƒ}|j|ƒ|j|ƒ|S(sÉ
    Logging configuration function

    :type verbose: bool
    :param verbose: Enable additional debug output if True, display only errors
        othervise
    :return: configured logger object
    s%(levelname)-8s: %(message)ss%H:%M:%S %d.%m.%y(	tloggingtDEBUGtERRORt
StreamHandlertsetLevelt	FormattertsetFormattert	getLoggert
addHandler(tverbosetlevelthandlert
log_formatt	formattertlogger((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytconfigure_logging6s		



cCsEg}x.tjdƒD]}|j|d|fƒqW|jƒ|S(s¨
    Returns list of installed alt-php versions and their base directories

    :rtype:  list
    :return:  List of version (e.g. 44, 55) and base directory tuples
    s/opt/alt/php[0-9][0-9]iþÿÿÿ(tglobtappendtsort(tphp_versionstphp_dir((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytfind_alt_php_versionsNs

cCs¸tjddgdtjdtjdtƒ}|jƒ\}}x[|jdƒD]J}d||f|jƒjdƒd	krOtj	d
||fƒtSqOWtj	d||fƒt
S(sx

    :param php_ver: alt-php version (e.g. 44, 55, 70)
    :return: If handler exist returns True, otherwise False
    s/usr/local/psa/bin/php_handlers--listRRtuniversal_newliness
salt-php%s-%st isHandler for alt-php%s-%s exist.s#Handler for alt-php%s-%s not exist.(RtPopentPIPEtSTDOUTRtcommunicatetsplittstripRtinfoR(tcgi_typetphp_vertproctoutt_tline((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytplesk_check_php_handler\s	)cCstƒr$tjd||fƒtSt||ƒrNtjd||fƒtStjd||fƒtjjdj	||ƒƒd}|ddd||fd	t
jj|d
ƒdt
jj|dƒd
|dd||fg}|dkrw|j
dd|dt
jj|dƒdt
jj|dƒgƒt
jjd|ƒs™tt
jj|dƒt
jj|dƒƒq™n"|j
dt
jj|dƒgƒtj|dtjdtjdtƒ}|jƒ\}}|jdkrtddj|ƒ|fƒ‚ntj|d gdtjdtjdtƒ}|jƒ\}}|jdkrltd!|d"|ƒ‚ntjd#|ƒtS($Ns<Skipping alt-php%s-%s on Plesk installations without CageFS.sHandler for alt-php%s-%s exist.s'Plesk: Installing alt-php%s-%s handler.s)Plesk: Installing alt-php{0}-{1} handler.s/usr/local/psa/bin/php_handlers--adds-displaynamesalt-php%s-%ss-clipathsusr/bin/phps-phpinisetc/php.inis-types-idtfpms-services
alt-php%s-fpms-pathsusr/sbin/php-fpms-poolds
etc/php-fpm.ds/opt/alt/php%s/etc/php-fpm.confsetc/php-fpm.conf.plesksetc/php-fpm.confsusr/bin/php-cgiRRR*iucannot execute "%s": %sR+s--rereaducannot execute "s --reread": %ss-Handler for alt-php%s was successfully added.(RRR2RR9RtsysRtwritetformatRRtjointextendRRRR,R-R.R/t
returncodet	Exception(R3R4tphp_pathtcommandtadd_commandR5R6R7((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytplesk_add_php_handlernsH	
1"cCst||ƒrãtjd||fƒtjjdj||ƒƒdddd||fg}tj|dtj	dtj
d	tƒ}|jƒ\}}|j
d
krÈtddj|ƒ|fƒ‚ntjd
||fƒtStjd||fƒtSdS(Ns%Plesk: Removing alt-php%s-%s handler.s'Plesk: Removing alt-php{0}-{1} handler.s/usr/local/psa/bin/php_handlers--removes-idsalt-php%s-%sRRR*iucannot execute "%s": %sR+s2Handler for alt-php%s-%s was successfully removed.s#Handler for alt-php%s-%s not exist.(R9RR2R;RR<R=RR,R-R.RR/R@RAR>R(R3R4RCR5R6R7((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytplesk_remove_php_handler™s	"cCsfy>tjƒ}|dkr=tjjdƒs<tdƒ‚n|dkrªtd||ƒtd||ƒtjjd|ƒs”tjjd|ƒr:td	||ƒq:q=|d
krtd|ƒtd|ƒtjjd|ƒsütjjd|ƒr:td	|ƒq:q=td|ƒo9td|ƒo9td	|ƒSnWn!tk
ra}t	j
|ƒtSXdS(sL
    :rtype: bool
    :return: If success returns True, otherwise False
    tPlesks/usr/local/psa/bin/php_handlers)/usr/local/psa/bin/php_handler not exist.Rtfastcgitcgis/etc/init.d/alt-php%s-fpms-/usr/lib/systemd/system/alt-php%s-fpm.serviceR:RN(tcpapit	getCPNameRRRRARERFR9RR2R(tmodeR4RBtcp_namete((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytconfigure_alt_php«s&,

,2
c
Cs–y(tj|ddddgƒ\}}Wn0tjk
rZ}tjjdj|ƒƒdSXt}d}g}x¬|D]¤\}}|dkrª|tkr¡d}qª|}n|dkrtj	j
d|ƒsétjjd
j|ƒƒdS|j|d|fƒn|dkrtt}qtqtWt
|ƒ}	|sktƒ}|	jddjg|D]}
d|
^qMƒƒnx$|D]\}}t|||ƒqrWdS(Nsm:p:vsmode=sphp=Rs(cannot parse command line arguments: {0}iRs-ms--modes-ps--phps/opt/alt/php%ssunknown PHP version {0}s-vs	--verboseu!installed alt-php versions are
%ss
s	 alt-php%s: %s(s-ms--mode(s-ps--php(s-vs	--verbose(tgetopttGetoptErrorR;RR<R=RtMODESRRtisdirR%RR#R)R2R>RO(
tsys_argstoptstargsRNRRLR'topttargtlogtitverR((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytmainÆs6(		
		+t__main__i(schecksinstalls	uninstall(RPR$RRRR;tshutilRtdb.clcommon.cpapitclcommonRJtImportErrortdetectcpRRR	RRR#R)R9RERFROR\t__name__texittargv(((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pyt<module>s.
								+			!
Back to Directory File Manager