§ 1êÄj ãó„—ddlmZddlZddlZddlZddlmZddlmZddl m Z dZ d de fd„Z d ee fd „Zd „Zd „ZdS)é)Úabsolute_importN)ÚList)Ú is_ubuntu)ÚPHPz/usr/bin/selectorctlÚalt_php_identifierc ór—|€d| dd¦«›d�}n|}t¦«sdnd}|r|nt}|||d›d|d›�tj ||¦«|tj |d ¦«tj |d ¦«¬ ¦«S) Nz/opt/ú-ú/zusr/lib64/php/modules/z%usr/lib/x86_64-linux-gnu/php/modules/éþÿÿÿú.éÿÿÿÿz usr/bin/phpzlink/conf/default.ini)Ú identifierÚversionÚ modules_dirÚdirÚbinÚini)ÚreplacerrÚosÚpathÚjoin)rÚ root_pathÚbase_clsÚ php_root_dirÚmodules_base_dirs úI/opt/cloudlinux/venv/lib64/python3.11/site-packages/clwpos/php/alt_php.pyÚcreate_generic_phpr sÊ€ØÐàFÐ1×9Ò9¸#¸sÑCÔCÐFÐFÐFˆ ˆ à ˆ å7@±{´{ÐoÐ/Ð/ÐHoÐà#Ð,ˆxˆx­€HØ ˆ8Ø%Ø% bÔ)ÐDÐDÐ,>¸rÔ,BÐDÐDÝ”G—L’L Ð/?Ñ@Ô@Ø Ý ŒG�LŠL˜ }Ñ 5Ô 5Ý ŒG�LŠL˜Ð'>Ñ ?Ô ?ð  ñ ô ðóÚreturncó(—d}tjd¦«}g}tj|¦«D]d}| |¦«sŒt d|›�¦«}tj |j¦«sŒO|  |¦«Œe|S)u Get list of installed alt-php versions. Skip /opt/alt/phpNN dirs whose php binary is missing — otherwise callers like PHP.is_extension_loaded() crash with FileNotFoundError. z/opt/altz ^php\d{2}$zalt-) ÚreÚcompilerÚlistdirÚmatchrrÚexistsrÚappend)Úalt_dirÚpatternÚalt_php_versionsÚdirnameÚ php_versions rÚget_alt_php_versionsr,!sœ€ð€GÝŒj˜Ñ'Ô'€GØÐÝ”:˜gÑ&Ô&ð-ð-ˆØ�}Š}˜WÑ%Ô%ð Ø Ý(Ð)9°Ð)9Ð)9Ñ:Ô:ˆ ÝŒw�~Š~˜kœoÑ.Ô.ð Ø Ø×Ò  Ñ,Ô,Ð,Ð,Ø Ðrc ó—g}tjtdd|gdd¬¦«j}|r1d„| ¦« d¦«D¦«}|s| d|¦«dS| d t|¦«|t|¦«¦«|D]\}tjtd d |¦«d|d |gdd¬¦«}| d t|¦«|¦«Œ]dS) z\ To turn off extensions in selector for avoiding them loading in separate places!!! z --list-usersz --versionT©Úcapture_outputÚtextcó:—g|]}|¯| ¦«‘ŒS©)Ústrip)Ú.0Úlines rú z/disable_selector_extensions..=s&€Ð_Ð_Ð_¨ÐZ^Ð_˜Ÿ š ™ œ Ð_Ð_Ð_rú,z-No users found using selector with version %sNz)r@Ú update_ress rÚ#update_selector_built_in_extensionsrHOsI€õ”Ð!RÐ SØ"&Øðñô€Jð ‡K‚KÐ9½3¸z¹?¼?ÑKÔKÐKÐKÐKr)NN)Ú __future__rrr!r8ÚtypingrÚclcommon.utilsrÚclwpos.php.baserr:r>rr,rErHr2rrúrMsßðØ&Ð&Ð&Ð&Ð&Ð&à € € € Ø € € € ØÐÐÐØÐÐÐÐÐà$Ð$Ð$Ð$Ð$Ð$ØÐÐÐÐÐà&€ ðð¨3ððððð(˜d 3œiððððð&\ð\ð\ð6LðLðLðLðLr