Spade
Mini Shell
| Directory:~$ /proc/self/root/opt/alt/alt-php-config/ |
| [Home] [System Details] [Kill Me] |
�
ŗ�hc@sddlZddlZddlZddlZddlZddlZddlmZyddlj j
Z
Wnek
r�ddlZ
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_cagefsscCst�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 FormattertsetFormattert 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(tphp_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--listRRtuniversal_newliness
salt-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 )cCs�t�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-displaynamesalt-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-cgiRRR*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�tddj|�|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-idsalt-php%s-%sRRR*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;RR<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.
+ !