HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/plogical/__pycache__/phpUtilities.cpython-310.pyc
o

��h8O�@s�ddlZej�d�ddlmZddlZddlZddlZddlm	Z	ddl
Z
ddlZddlm
Z
ddlmZddlmZddlZddlmZGd	d
�d
�Zdd�Zed
krZe�dSdS)�Nz/usr/local/CyberCP)�CyberCPLogFileWriter)�installUtilities)�
mailUtilities)�ProcessUtilities��ApacheVhost)�reversec@s�eZdZdZedd��Zedd��Zedd��Zedd	��Zed
d��Z	edd
��Z
edd��Zeddd��Zedd��Z
edd��Zedd��ZdS)�phpUtilitiesz'/home/cyberpanel/phpExtensionRequestLogc
Cs2z{t��t��tjkst��tjkrd|d}nd|d}t�|�}z5tt	j
d��}tj||d�Wd�n1s>wYtt	j
d�}|�
d�|��tj��WWdStt	j
d�}|�
d	�|��tj�d
�tj��YWdSty�}ztj�t|�d�WYd}~dSd}~ww)
Nzsudo yum install z -yzsudo apt-get install �w��stdout�azPHP Extension Installed.
�zCan not be installed.
�[Could not Install]rz[installPHPExtension]�r�	checkHomer�decideDistro�centos�cent8�shlex�split�openr	�installLogPath�
subprocess�call�
writelines�closer�reStartLiteSpeed�loggingr�writeToFile�
BaseException�str��	extension�
extensions�command�cmd�fr�msg�r)�+/usr/local/CyberCP/plogical/phpUtilities.py�installPHPExtensions4
�



"��z phpUtilities.installPHPExtensionc
Cs.zyt��t��tjkst��tjkrd|d}nd|}t�|�}z5tt	j
d��}tj||d�Wd�n1s<wYtt	j
d�}|�
d�|��tj��WWdStt	j
d�}|�
d	�|��tj�d
�tj��YWdSty�}ztj�t|�d�WYd}~dSd}~ww)
Nzsudo rpm --nodeps -e  z -vzsudo apt-get remove -y  r
rr
zPHP Extension Removed.
rzCan not un-install Extension.
rrz[unInstallPHPExtension]rr"r)r)r*�unInstallPHPExtension7s4
�



"��z"phpUtilities.unInstallPHPExtensionc
C�Tzt�tj||f�WdSty)}ztj�t|�d�WYd}~dSd}~ww)Nz [initiateInstall])	�_thread�start_new_threadr	r+r rrrr!�r#r(r)r)r*�initiateInstallY�"��zphpUtilities.initiateInstallc
Cr-)Nz [initiateRestore])	r.r/r	r,r rrrr!r0r)r)r*�initiateRemoval`r2zphpUtilities.initiateRemovalc
Cs�z�d}d|}t�|�ddlm}
|
�t|
�|�}t|d���}t|d�}dddddddddd�	}|D�]}|�d	�d
krR|�d�d
krR|�	|d�d
|d	<q5|�d�d
krl|�d�d
krl|�	|d�d
|d<q5|�d�d
kr�|�d�d
kr�|�d�d
ks�|�	|d�d
|d<q5|�d�d
kr�|�d�d
kr�|�	|d�d
|d<q5|�d�d
kr�|�d�d
kr�|�	d|d�d
|d<q5|�d�d
kr�|�d�d
kr�|�	d|d�d
|d<q5|�d�d
kr�|�d�d
kr�|�	d|d�d
|d<q5|�d�d
k�r|�d�d
k�r|�	d|d�d
|d<q5|�d�d
k�r7|�d�d
k�r7|�	d|	d�d
|d<q5|�	|�q5g}|d	�sI|�
|�|d�sS|�
|�|d�s]|�
|�|d�sg|�
|�|d�ss|�
d|�|d�s|�
d|�|d�s�|�
d|�|d�s�|�
d|�|d�s�|�
d|	�|�r�|�	d�|D]
}|�	|d��q�|��tj�
�t|
�dk�r�|
�|�}d|��}t�|�td�WdSt�y}ztj�t|�d �td!t|��WYd}~dSd}~ww)"N�,/usr/local/lsws/admin/tmp/.lsphp_restart.txt�touch %srr�rr
F)	�allow_url_fopen�display_errors�file_uploads�allow_url_include�memory_limit�max_execution_time�upload_max_filesize�max_input_time�
post_max_sizer7����=�
Tr8r9�max_file_uploadsr:r;zmemory_limit = r<zmax_execution_time = r=zupload_max_filesize = r>zmax_input_time = r?zpost_max_size = z*
; Added by CyberPanel PHP Config Manager
r�systemctl restart �1,Nonez [savePHPConfigBasic]�0,)r�executioner�ApachController.ApacheVhostsr�DecidePHPPathforManager�intr�	readlines�findr�appendrrr�DecideFPMServiceName�normalExecutioner�printr rrrr!)�phpVersr7r8r9r:r;r<r=r>r?�apache�serverLevelPHPRestartr%r�path�datar�found_directives�items�missing_directives�	directive�
phpServicer(r)r)r*�savePHPConfigBasicgs�

�


 ��




 
 



















���zphpUtilities.savePHPConfigBasicc
Cs
z_d}d|}t�|�t|d�}|�t|d����|��tj�|�r*t�	|�t
j
��t��tj
ks=t��tjkrDd|�d�}nd|�d�d�d	�}d
|��}t�|�td�WdSty�}ztj�t|�d�td
t|��WYd}~dSd}~ww)Nr4r5r
r6�phpz-php-fpm�/�z-fpmrDrEz [savePHPConfigAdvance]rF)rrGr�write�readr�osrT�exists�removerrrrrrrOrPr rrrr!)rQ�tempPathrSr%�phpINIrZr(r)r)r*�savePHPConfigAdvance�s.






���z!phpUtilities.savePHPConfigAdvancec
Cs�zHd}d}d}|D]8}|jj|jj|jjj|jjdtd�|jj|jfd�}|dkr4|t�|�}d}n	|dt�|�}|d}q	|d}|WSt	y\}z|WYd}~Sd}~ww)	N�[rrz%s?ID=%s&DeleteID=%s�WPHome)�id�name�DomainrT�	deleteURL�,�])
�wpsiteri�title�owner�domainrTr�json�dumpsr )�stagings�	json_data�checker�counter�staging�dicr(r)r)r*�GetStagingInJson�s&�
��zphpUtilities.GetStagingInJsonNc
Cs"|dkr|}|�d�}|�d�}||d}tj|d}tj�d�r,tj�	d|���|}tj�|��r<t�
d|�}tj�|�rEd}d	}	t�
d
|�}tj�|�rUd}d}	t�
d
|�}tj�|�red}d}	t�
d|�}tj�|�rud}d}	t�
d|�}tj�|�r�d}d}	t�
d|�}tj�|�r�d}d}	t�
d|�}tj�|�r�d}d}	t�
d|�}tj�|�r�d}d}	t�
d|�}tj�|�r�d }d!}	t�
d"|�}tj�|�r�d#}d$}	t�
d%|�}tj�|�r�d&}d'}	t�
d(|�}tj�|�r�d)}d*}	t�
d+|�}tj�|��rd,}d-}	t�
d.|�}tj�|��rd/}d0}	t��tj
k�s't��tjk�r/d1|�d2�}
|
S|	}t|�d3|��}|Stj�d��rLtj�	d4|���t��tjk�rod5|��}
t�|
dd6��d7�}|�d8d�d9d:}|Sd;|�d<�}
t�|
dd6��d7�}d=|�d>�}|�d8d�d9d:}|S)?Nr]�vhostsrz.confz/usr/local/CyberCP/debugz*Apache conf file in GetPHPVersionFromFile �54�php54zphp5.4�55�php55zphp5.5�56�php56zphp5.6�70�php70zphp7.0�71�php71zphp7.1�72�php72zphp7.2�73�php73zphp7.3�74�php74zphp7.4�80�php80zphp8.0�81�php81zphp8.1�82�php82zphp8.2�83�php83zphp8.3�84�php84zphp8.4�85�php85zphp8.5z
/opt/remi/z
/root/bin/phpz	/usr/bin/zVHFile in GetPHPVersion z1grep -Eo "/usr/local/lsws/lsphp[0-9]+/bin/lsphp" TrB�lsphprr\zgrep -Po "php\d+" z | head -n 1z/usr/local/lsws/lsz
/bin/lsphp)r�indexr�configBasePathrarTrbrrr�
DecidePHPPathrrrrrP�decideServer�OLS�outputExecutioner�rstrip�rsplit)
�vhFile�
domainName�	file_path�
path_parts�vhosts_index�
finalConfPath�virtualHostName�phpPath�	centOSPHP�	ubuntuPHPr%�converted_version�resultr)r)r*�GetPHPVersionFromFiles�

 


z"phpUtilities.GetPHPVersionFromFilecCsRt�|�}tj�tj�rtj�	|�|d}t�
|dd��d�dd�}d|��S)Nz) -v 2>/dev/null | awk '/^PHP/ {print $2}'TrBr^zPHP )r	r�rarTrbr�	debugPathrrrr�r�)r�r�r%�php_versionr)r)r*�,WrapGetPHPVersionFromFileToGetVersionWithPHP�s

z9phpUtilities.WrapGetPHPVersionFromFileToGetVersionWithPHPcCs�|dkr%|�d�d}t�||�}tj�|�r|Sddlm}|��dSddlm}|�	|�}d|�d�}tj�|�r>|Sddlm}|��dS)Nr]�r)�
PHPManager���z/usr/local/lsws/lsphpz/bin/php)
rr	r�rarTrb�managePHP.phpManagerr��findPHPVersions�getPHPString)r��
phpVersionr�r�r�r\�	finalPathr)r)r*�<FindIfSaidPHPIsAvaiableOtherwiseMaketheNextOneAvailableToUse�s
zIphpUtilities.FindIfSaidPHPIsAvaiableOtherwiseMaketheNextOneAvailableToUsecCsHt��tjkst��tjkrd|�d�}nd|�d�}t�|dd�dS)Nz7DEBIAN_FRONTEND=noninteractive apt-get -y install lsphp�*zdnf install lsphpzA* --exclude lsphp73-pecl-zip --exclude *imagick* -y --skip-brokenT)rr�ubuntu�ubuntu20rG)r\r%r)r)r*�InstallSaidPHP�szphpUtilities.InstallSaidPHP)N)�__name__�
__module__�__qualname__r�staticmethodr+r,r1r3r[rfr{r�r�r�r�r)r)r)r*r	s2
!
!


h



r	c
Csxtjdd�}|jddd�|jddd�|jdd	d�|jd
dd�|jdd
d�|jddd�|jddd�|jddd�|jddd�|jddd�|jddd�|jddd�|jddd�|jddd�|��}|jdkr�t�|j|j|j	|j
|j|j|j
|j|j|j|j�dS|jdkr�t�|j|j�dS|jdkr�t�|j|j�dS|jd kr�t�|j|j�dSdS)!NzCyberPanel Installer)�description�functionzSpecific a function to call!)�helpz	--phpVerszDomain name!z--allow_url_fopenzMax Connections for PHP!z--display_errorsz'Initial Request Timeout (secs) for PHP!z--file_uploadszPersistent Connection for PHP!z--allow_url_includez"Memory Soft Limit (bytes) for PHP!z--memory_limitzProcess Hard Limit for PHP!z--max_execution_timez"Memory Hard Limit (bytes) for PHP!z--upload_max_filesizezProcess Soft Limit for PHP!z--max_input_timez--post_max_sizez--extensionz--apachezEditing apache!z
--tempPathz1Temporary path to file where PHP is storing data!r[rfr+r,)�argparse�ArgumentParser�add_argument�
parse_argsr�r	r[rQr7r8r9r:r;r<r=r>r?rRrfrdr+r#r,)�parser�argsr)r)r*�main�s6
�


�r��__main__)�sysrTrM�plogicalrrrrr.rr�ra�plogical.mailUtilitiesr�plogical.processUtilitiesrrHrrs�django.urlsrr	r�r�r)r)r)r*�<module>s,B'
�