| Server IP : 109.234.162.214 / Your IP : 216.73.216.34 Web Server : Apache System : Linux servd162214.srv.odns.fr 4.18.0-372.26.1.lve.1.el8.x86_64 #1 SMP Fri Sep 16 14:08:19 EDT 2022 x86_64 User : carpe ( 1178) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/cloudlinux/venv/lib64/python3.11/site-packages/clwpos/php/ |
Upload File : |
from __future__ import absolute_import
import os
import re
from typing import List, Type
from clwpos.php.base import PHP
def create_generic_php(alt_php_identifier: str, root_path=None, base_cls = None):
if root_path is None:
# create alt versions by default
php_root_dir = f'/opt/{alt_php_identifier.replace("-", "/")}/'
else:
php_root_dir = root_path
base_cls = base_cls if base_cls else PHP
return base_cls(
identifier=alt_php_identifier,
version=f'{alt_php_identifier[-2]}.{alt_php_identifier[-1]}',
modules_dir=os.path.join(php_root_dir, 'usr/lib64/php/modules/'),
dir=php_root_dir,
bin=os.path.join(php_root_dir, 'usr/bin/php'),
ini=os.path.join(php_root_dir, 'link/conf/default.ini')
)
def get_alt_php_versions() -> List[PHP]:
"""
Get list of installed alt-php versions.
"""
alt_dir = '/opt/alt'
pattern = re.compile(r'^php\d{2}$')
alt_php_versions = [
create_generic_php(f'alt-{dirname}') for dirname in os.listdir(alt_dir)
if pattern.match(dirname)
]
return alt_php_versions