????
Your IP : 18.119.11.179
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