Skip to content

docs: PHP Selector release audit - #338

Draft
NikolayVoina wants to merge 1 commit into
cloudlinux:masterfrom
NikolayVoina:docs-audit/php-selector-713fa4f71724
Draft

NikolayVoina wants to merge 1 commit into
cloudlinux:masterfrom
NikolayVoina:docs-audit/php-selector-713fa4f71724

Conversation

@NikolayVoina

@NikolayVoina NikolayVoina commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Documentation audit: lvemanager 7.11.48-1

Outcome: insufficient_evidence. Channel: Stable.

This audit compares a pinned published package with the official documentation. A completed source review does not establish installed OS/panel behavior. Beta instructions apply only to Beta until confirmed for Stable.

Applicability

CL10, CL7, CL8, CL9, ubuntu22_04_ext

Exact package versions: [CL10/noarch=7.11.48-1.el10.cloudlinux;CL7/noarch=7.11.48-1.el7.cloudlinux;CL8/noarch=7.11.48-1.el8.cloudlinux;CL9/noarch=7.11.48-1.el9.cloudlinux;ubuntu22_04_ext/amd64=7.11.48-1].

Proposed documentation changes

The exact documentation patch is below. It preserves the surrounding instructions; review the changed commands and conditions together with their affected section.

  • docs/cloudlinuxos/cloudlinux_os_components/README.md

  • docs/cloudlinuxos/command-line_tools/README.md

Independent review

Pass Assessment

| Factual accuracy | 6.5/10 |

| Integration quality | 6.8/10 |

Blocking issues: 10. Necessary unsupported claims: 16. Each applicable score must be at least 8; an average never overrides a failed pass. A score covers only the inspected scope.

Technical checks and limits

Technical gate: not passed; 219/264 individual checks passed. The gate requires the existing VuePress build and applicable changed-page checks. OS/panel commands are not executed by this tool; unavailable installed-version evidence remains a gap.

Completed cycles: 1. Reserved cycles: 1. Estimated model cost: $9.9753053. Total input/output tokens including reasoning: 40679501.

Cost is estimated from reported usage; token totals include reasoning.

Remaining review

Read the private audit report and resolve outstanding evidence or check failures.

Private source excerpts, credentials, raw build logs and agent evidence are excluded from this public article. Product engineer and documentation owner approval are required. This PR stays Draft; no automatic merge.

Exact public documentation diff

diff --git a/docs/cloudlinuxos/cloudlinux_os_components/README.md b/docs/cloudlinuxos/cloudlinux_os_components/README.md
index b461fd8..c49060f 100644
--- a/docs/cloudlinuxos/cloudlinux_os_components/README.md
+++ b/docs/cloudlinuxos/cloudlinux_os_components/README.md
@@ -4344,24 +4344,24 @@ Since access depends on a valid JWT token, you will lose access to the ALT-ELS r
 
 
 ## PHP Selector
 
 ### General information and requirements
 
 The main requirements:
 
 * CageFS is installed
 * Alt-PHP packages are installed
-* Mod_suexec is installed. You can find installation instruction [here](./#apache-suexec-module)
+* Use a compatible PHP handler. On cPanel, CGI/FCGI requires suEXEC; suPHP and LiteSpeed do not require `mod_suexec` just to use PHP Selector. For suEXEC installation instructions, see [here](./#apache-suexec-module).
 * CageFS is initialized without errors
 * CageFS is enabled for a domain user-owner
-* An appropriate PHP handler is selected for PHP version which is system version. <span class="notranslate"> PHP Selector </span> is **compatible** with the following technologies: <span class="notranslate">_suPHP, mod_fcgid, CGI (suexec), LiteSpeed_</span>. See also [Compatibility Matrix](/cloudlinuxos/limits/#compatibility-matrix).
+* An appropriate PHP handler is selected for PHP version which is system version. <span class="notranslate"> PHP Selector </span> is **compatible** with the following technologies: <span class="notranslate">_suPHP, mod_fcgid (with suEXEC on cPanel), CGI (suexec on cPanel), mod_lsapi (cPanel with suEXEC or suPHP), LiteSpeed_</span>. See also [Compatibility Matrix](/cloudlinuxos/limits/#compatibility-matrix).
 * PHP version in the CloudLinux OS PHP selector does not equal to the Native PHP version
 
 ::: tip Note
 PHP Selector is not supported for H-Sphere.
 :::
 
 ::: tip Note
 PHP Selector requires native PHP to be installed, otherwise you will get an error message with a proposal to install PHP package.
 Here are some instructions for different control panels:
 1. [for cPanel](https://documentation.cpanel.net/display/EA4/EasyApache+4+and+the+ea-php-cli+Package)
@@ -4396,20 +4396,24 @@ The mark `x` stands for a supported version.
 | alt-php 8.3 |       x       |       x       |       x       |       x       |       x       |
 | alt-php 8.4 |       –       |       x       |       x       |       x       |       x       |
 | alt-php 8.5 |       –       |       -       |       x       |       x       |       x       |
 
 ### Installation and update
 
 * [Update](./#update)
 
 The installation of <span class="notranslate"> PHP Selector </span> presumes that you already have  [CageFS](./#cagefs) & <span class="notranslate">[LVE Manager](/lve_manager/) installed.</span>
 
+:::tip Note
+The `yum` commands in this installation and update guide are for RPM-based CloudLinux OS, not Ubuntu 22.04 extension. On Ubuntu 22.04 extension, the PHP installation wizard requests version-specific `alt-phpXX-meta` packages through APT (`XX` is the selected version without its dot).
+:::
+
 Use [compatibility matrix](/cloudlinuxos/limits/#compatibility-matrix) to check if your Web Server/PHP mode is supporting <span class="notranslate"> PHP Selector. </span> If not, you need a change to one of the supported models.
 
 Installation of different versions of PHP & modules:
 <div class="notranslate">
 
 ```
 yum groupinstall alt-php
 ```
 </div>
 
@@ -4484,21 +4488,21 @@ yum install cagefs
 
 2. Install `alt-php` packages as root:
 
 <div class="notranslate">
 
 ```
 yum groupinstall alt-php
 ```
 </div>
 
-3. Install `mod_suexec` package as root. See installation instructions [here](./#installation-5).
+3. For CGI/FCGI handlers, install `mod_suexec` as root. See installation instructions [here](./#installation-5). For other handlers, check the [compatibility matrix](/cloudlinuxos/limits/#compatibility-matrix).
 4. Verify that CageFS is initialized successfully.
 
   * via SSH by running the following command:
 
   <div class="notranslate">
 
   ```
   cagefsctl --check-cagefs-initialized
   ```
   </div>
@@ -4798,21 +4802,21 @@ modules=json,zip,fileinfo
 ```
 </div>
 
 To reset the extensions for end users to the default list of extensions as defined in the `defaults.cfg` file, you can run the following command:
 ```
 cagefsctl --list-enabled | grep -v enabled | grep -v '^$' | while read -r line; do \
     id "$line" &>/dev/null && selectorctl --reset-user-extensions --version=8.4 --user="$line" || echo "User $line does not exist, skipping"; \
 done
 ```
 
-This command will reset the extensions for all users on PHP version 8.4 to the default list. You can specify a different PHP version by modifying the `--version` argument in the command above.
+This command resets the PHP 8.4 extensions to the default list for every CageFS-enabled user, even if they currently use a different PHP version. You can specify a different PHP version by modifying the `--version` argument in the command above.
 
 To reset the extensions for a specific user, you can use the following command:
 ```
 selectorctl --reset-user-extensions --version=8.4 --user=user1
 ```
 
 #### Individual PHP.ini files
 
 For each customer, inside CageFS, file <span class="notranslate"> alt_php.ini is located in /etc/cl.php.d/alt-phpXX (XX </span> - version of PHP, like 52 or 53). The file contains PHP extension settings and extension directives selected by customer. This file exists for each customer, for each PHP version.
 
@@ -5092,21 +5096,21 @@ Once <span class="notranslate"> FFmpeg </span> is installed you can install PHP
 
 ```
 yum install alt-php*ffmpeg
 ```
 </div>
 
 Enable <span class="notranslate"> PHP-FFmpeg </span> extension via <span class="notranslate"> PHP Selector </span> :
 <div class="notranslate">
 
 ```
-selectorctl --enable-extensions=ffmpeg --user USERNAME --version X.Y
+selectorctl --enable-user-extensions=ffmpeg --user USERNAME --version X.Y
 ```
 </div>
 
 #### Native PHP configuration
 
 <span class="notranslate">PHP Selector</span> requires access to the <span class="notranslate">native PHP</span> version for proper work. It is specified in the file <span class="notranslate">`/etc/cl.selector/native.conf`</span> of the following content (example):
 <div class="notranslate">
 
 ```
 php=/usr/bin/php-cgi
@@ -5856,21 +5860,21 @@ Result:
 ```
 /usr/bin/selectorctl --user=_USER_ --version=_VERSION_ --replace-options=_OPTIONS_ --base64 [--json]
 ```
 </div>
 
 Here is an example of how you can generate <span class="notranslate"> _OPTIONS_ in base64 </span> format:
 
 <div class="notranslate">
 
 ```
-OPTIONS=`echo disable_functions:exec,syslog|base64 -w 0`,`echo display_errors:off|base64 -w 0`,`echo post_max_size:128M|base64 -w 0`
+OPTIONS=`printf %s 'include_path:.:/dir/with,comma'|base64 -w 0`,`printf %s 'display_errors:off'|base64 -w 0`,`printf %s 'post_max_size:128M'|base64 -w 0`
 echo $OPTIONS
 ```
 </div>
 
 See also [PHP Selector CLI tools](/command-line_tools/#php-selector).
 
 ### Bundled PHP extensions
 
 You can find this information in the corresponding section of the TuxCare documentation:
 [List of extensions supported by the ALT&EA team for each version of PHP](https://docs.tuxcare.com/els-for-runtimes/php/#php-extensions-list)
diff --git a/docs/cloudlinuxos/command-line_tools/README.md b/docs/cloudlinuxos/command-line_tools/README.md
index 5750117..84c62a1 100644
--- a/docs/cloudlinuxos/command-line_tools/README.md
+++ b/docs/cloudlinuxos/command-line_tools/README.md
@@ -1402,59 +1402,59 @@ All new features will be implemented as part of <span class="notranslate">`selec
 **Global options**
 
 The global options modify settings in the <span class="notranslate"> /etc/cl.selector/defaults.cfg </span> file.
 
 | | |
 |-|-|
 |<span class="notranslate"> --list (-l) </span> : | lists all available alternatives for an interpreter. For instance on server with Alt-PHP installed, it produces the following output. Columns are: short alternative version, full alternative version and path to php-cgi binary. <br> <span class="notranslate"> `$ selectorctl --list` <br>`5.2 5.2.17 /opt/alt/php52/usr/bin/php-cgi` <br>`5.3 5.3.28 /opt/alt/php53/usr/bin/php-cgi` <br>`5.4 5.4.23 /opt/alt/php54/usr/bin/php-cgi` <br>`5.5 5.5.7 /opt/alt/php55/usr/bin/php-cgi` </span>|
 |<span class="notranslate"> --summary (-S) </span> : | prints alternatives state summary. Output format: alternative version, state ('e' for 'enabled', '-' otherwise), chosen as default one or not ('d' for 'default', '-' otherwise). For example: <br> <span class="notranslate"> `$ selectorctl --summary` <br>`5.2 e -` <br>`5.3 e -` <br>`5.4 e -` <br>`5.5 e -` <br>`native e d` </span> <br> if used with <span class="notranslate"> `--show-native-version` </span> displays version for native interpreter: <br> <span class="notranslate"> `$ selectorctl --summary --show-native-version` <br>`5.2 e -` <br>`5.3 e -` <br>`5.4 e -` <br>`5.5 e -` <br>`native(5.3) e d` </span>|
 |<span class="notranslate"> --current (-C) </span> : | prints currently globally selected default version (it is stored in the <span class="notranslate"> _/etc/cl.selector/defaults.cfg_ </span> file):<br> <span class="notranslate"> `$ selectorctl --current` <br>`native native /usr/bin/php` </span> <br> If used with <span class="notranslate"> `--show-native-version` </span> , native interpreter version is displayed as well:<br> <span class="notranslate"> `$ selectorctl --current --show-native-version`</span> <br> `native(5.3) native(5.3.19) /usr/bin/php`|
 |<span class="notranslate"> --set-current (-B): </span>  | sets specified version as globally default one (in <span class="notranslate"> _/etc/cl.selector/defaults.cfg_ </span> file). For example, to set current default version of PHP to 5.4, use: <br> <span class="notranslate"> `$ selectorctl --set-current=5.4` </span>|
-|<span class="notranslate"> --disable-alternative (-N): </span> | adds <span class="notranslate"> state=disabled </span> option to alternative section. With it a corresponding alternative gets removed from user alternatives selection list. For instance to disable PHP 5.2, run: <span class="notranslate"> `$ selectorctl --disable-alternative=5.2` </span>|
+|<span class="notranslate"> --disable-alternative (-N): </span> | adds <span class="notranslate"> state=disabled </span> option to alternative section. With it a corresponding alternative gets removed from user alternatives selection list. The current global default cannot be disabled; set another default first. For instance to disable PHP 5.2, run: <span class="notranslate"> `$ selectorctl --disable-alternative=5.2` </span>|
 |<span class="notranslate"> --enable-alternative (-Y): </span> | Enables alternative version, removes <span class="notranslate"> state=disabled </span> option, if present, from alternative section. For example to enable PHP 5.2: <span class="notranslate"> `$ selectorctl --enable-alternative=5.2` </span>|
 |<span class="notranslate"> --enable-extensions (-E): </span> | enables extensions for particular PHP version by adding comma-separated list of extensions of modules for alternative in <span class="notranslate"> _/etc/cl.selector/defaults.cfg_ </span> . Requires <span class="notranslate"> --version </span> option. For example: <br> <span class="notranslate"> `$ selectorctl --enable-extensions=pdo,phar --version=5.2`</span>|
 |<span class="notranslate"> --disable-extensions (-D): </span>  | removes extensions for a particular PHP version. Comma-separated list of extensions will be removed from <span class="notranslate"> /etc/cl.selector/defaults.cfg </span> . Requires <span class="notranslate"> --version </span> . Example: <br> <span class="notranslate"> `$ selectorctl --disable-extensions=pdo,phar --version=5.2` </span>|
 |<span class="notranslate"> --replace-extensions (-R): </span> | replaces all extensions for particular PHP version to the list of comma separated extensions. Requires <span class="notranslate"> `--version`  option </span> . Example: <br> <span class="notranslate"> `$ selectorctl --replace-extensions=pdo,phar --version=5.2` </span>|
 |<span class="notranslate"> --list-extensions (-G): </span> | lists extensions for an alternative for a particular version. Requires <span class="notranslate"> --version </span> . Example: <br> <span class="notranslate"> `$ selectorctl --list-extensions --version=5.3` <br>`~ xml <br>- xmlreader <br>- xmlrpc <br>- xmlwriter` <br>`- xrange` <br>`+ xsl` </span> <br> Plus sign (+) stands for 'enabled', minus (–) for 'disabled', tilde (~) means compiled into interpreter or enabled in php global config file <span class="notranslate">_/opt/alt/phpXX/etc/php.ini_</span>. Enabled and disabled state relates to presence in <span class="notranslate"> _/etc/cl.selector/defaults.cfg_</span> file.|
 
 **End user options**
 
 All end user settings are contained in individual user's alt_php.ini files and controlled using the `selectorctl` command. 
 
 ::: tip Note
-Starting from cagefs-7.6.17, users inside CageFS can manipulate PHP Selector using the end-user options. If a command is run by a user, the `--user` option is not required.
+Starting from cagefs-7.6.17, users inside CageFS can manipulate PHP Selector using the end-user options. The `--user` requirements below apply when an administrator runs a command outside CageFS; users inside CageFS can omit `--user`, and if supplied, it must match their own username.
 :::
 
 | | |
 |-|-|
 |<span class="notranslate"> --user-summary (-s): </span>  | Prints user alternatives state summary. Example: <br> <span class="notranslate"> `$ selectorctl --user-summary --user=user1` <br>`5.2 e - -` <br>`5.3 e - -` <br>`5.4 e - -` <br>`5.5 e - -` <br>`native e d s` </span> <br> Columns are: alternative version, state ('e' for 'enabled', '-' otherwise), chosen as default one or not('d' for 'default', '-' otherwise), selected as user default one or not ('s' for 'selected', '-' otherwise).<br> If used with <span class="notranslate"> `--show-native-version` </span> , version for native interpreter is shown in parenthesis: <br> <span class="notranslate"> `$ selectorctl --user-summary --user=user1 --show-native-version` <br>`5.2 e - -` <br>`5.3 e - -` <br>`5.4 e - -` <br>`5.5 e - -` <br>`native(5.3) e d s` </span> <br> <span class="notranslate"> `--user` </span> option is required. |
-|<span class="notranslate"> --current (-c): </span> | prints currently globally selected default version (in <span class="notranslate"> _/etc/cl.selector/defaults.cfg_ </span> file): <br> <span class="notranslate"> `$ selectorctl --current` <br>`5.3 5.3.28 /opt/alt/php53/usr/bin/php-cgi` </span> <br> If used with <span class="notranslate"> `--show-native-version` </span> to display native version: <br> <span class="notranslate"> `$ selectorctl --user-current --user=user1` <br>`5.3 5.3.28 /opt/alt/php53/usr/bin/php-cgi` </span> <br> <span class="notranslate"> `--user` </span> option is required.|
+|<span class="notranslate"> --user-current (-c): </span> | prints the PHP version currently selected for an end user: <br> <span class="notranslate"> `$ selectorctl --user-current --user=user1` <br>`5.3 5.3.28 /opt/alt/php53/usr/bin/php-cgi` </span> <br> <span class="notranslate"> `--show-native-version` </span> displays the native PHP version when native is selected. Administrators must specify <span class="notranslate"> `--user` </span>; a user inside CageFS can omit it.|
 |<span class="notranslate"> --set-user-current (-b): </span> | sets specified version as the one to use for this end user: <br> <span class="notranslate"> `$ selectorctl --set-user-current=5.4 --user=user1` </span> <br> changes user symlinks for the PHP interpreter to point to alternative 5.4. <br> <span class="notranslate"> --user </span> option is required.|
 |<span class="notranslate"> --enable-user-extensions (-e): </span> | Enables comma-separated list of extensions for the user user. Information is saved to <span class="notranslate"> _alt_php.ini_ </span> file. Requires <span class="notranslate"> `--version` </span> and <span class="notranslate"> `--user` </span> options. <br> <span class="notranslate"> `$ selectorctl --enable-user-extensions=pdo,phar --version=5.2 --user=user1` </span>|
 |<span class="notranslate"> --disable-user-extensions (-d): </span> | Disables extensions provided as comma-separated list. Requires <span class="notranslate"> `--version` </span> and <span class="notranslate"> `--user` </span> options. <br> <span class="notranslate"> `$ selectorctl --disable-user-extensions=pdo,phar --version=5.2 --user=user1` </span>|
-|<span class="notranslate">--for-all-users:</span> | Allows to enable/disable extensions for all users with the required PHP version. Works only with <span class="notranslate">`--enable-user-extensions`</span> or <span class="notranslate">`--disable-user-extensions`</span> option. <br> <span class="notranslate">`$ selectorctl --enable-user-extensions=gd --version=5.3 --for-all-users`</span><br><span class="notranslate">`$ selectorctl  --disable-user-extensions=gd --version=5.3 --for-all-users`</span>|
+|<span class="notranslate">--for-all-users:</span> | Applies extension changes to all CageFS-enabled users for the specified PHP version, even if another version is currently selected. Cannot be combined with <span class="notranslate">`--user`</span>. Works only with <span class="notranslate">`--enable-user-extensions`</span> or <span class="notranslate">`--disable-user-extensions`</span> option. <br> <span class="notranslate">`$ selectorctl --enable-user-extensions=gd --version=5.3 --for-all-users`</span><br><span class="notranslate">`$ selectorctl  --disable-user-extensions=gd --version=5.3 --for-all-users`</span>|
 |<span class="notranslate"> --replace-user-extensions (-r): </span> | Replaces extensions with a provided comma-separated list of extensions Requires <span class="notranslate"> `--version` </span> and <span class="notranslate"> `--user` </span> options: <br> <span class="notranslate"> `$ selectorctl --replace-user-extensions=pdo,phar --version=5.2 --user=user1` </span>|
-|<span class="notranslate"> --reset-user-extensions (-t): </span> | Resets extensions for end user to default list of extensions as defined in <span class="notranslate"> default.cfg </span> . Requires <span class="notranslate"> `--version` </span> and <span class="notranslate"> `--user` </span> options. <br> <span class="notranslate"> `$ selectorctl --reset-user-extensions --version=5.2 --user=user1` </span>|
+|<span class="notranslate"> --reset-user-extensions (-t): </span> | Resets extensions for end user to default list of extensions as defined in <span class="notranslate"> defaults.cfg </span> . Requires <span class="notranslate"> `--version` </span> and <span class="notranslate"> `--user` </span> options. <br> <span class="notranslate"> `$ selectorctl --reset-user-extensions --version=5.2 --user=user1` </span>|
 |<span class="notranslate"> --list-user-extensions (-g): </span> | lists enabled user extensions for an alternative. Requires <span class="notranslate"> `--version` </span> and <span class="notranslate"> `--user` </span> options. <br> <span class="notranslate"> `$ selectorctl --list-user-extensions --version=5.3 --user=user1` <br>`xml` <br>`xmlreader` <br>`xmlrpc` </span> <br> if <span class="notranslate"> `--all` </span> option present, command will list all alternatives extensions marked enabled or disabled for given user. For example: <br> <span class="notranslate"> `$ selectorctl --list-user-extensions --version=5.3 --user=user1 --all` <br>`- xmlreader` <br>`- xmlrpc` <br>`- xmlwriter` <br>`- xrange` <br>`+ xsl` </span> <br> Plus sign (+) stands for 'enabled', minus (–) stands for 'disabled'. Enabled and disabled state relates to presence or absence of corresponding extensions in user <span class="notranslate"> _alt_php.ini_ </span> file.|
-|<span class="notranslate"> --add-options (-k): </span> | adds options (as in <span class="notranslate"> _php.ini_ </span> ) to user <span class="notranslate"> _alt_php.ini_ </span> file. For example: <br> <span class="notranslate"> `$ selectorctl --add-options=log_errors:on,display_errors:on --version=5.2 --user=user1` </span> <br> adds <span class="notranslate"> `log_error` </span> and <span class="notranslate"> `display_errors` </span> options with values <span class="notranslate"> 'on' </span> to user <span class="notranslate"> _alt_php.ini_ </span> file overwriting default values for a user. Requires <span class="notranslate"> `--version` </span> and <span class="notranslate"> `--user` </span> options.|
+|<span class="notranslate"> --add-options (-k): </span> | adds options (as in <span class="notranslate"> _php.ini_ </span> ) to user <span class="notranslate"> _alt_php.ini_ </span> file. For example: <br> <span class="notranslate"> `$ selectorctl --add-options=log_errors:on,display_errors:on --version=5.2 --user=user1` </span> <br> adds <span class="notranslate"> `log_errors` </span> and <span class="notranslate"> `display_errors` </span> options with values <span class="notranslate"> 'on' </span> to user <span class="notranslate"> _alt_php.ini_ </span> file overwriting default values for a user. Requires <span class="notranslate"> `--version` </span> and <span class="notranslate"> `--user` </span> options.|
 |<span class="notranslate"> --replace-options (-m): </span> | replaces all options in user <span class="notranslate"> _alt_php.ini_ </span> file with specified ones. Requires <span class="notranslate"> `--version` </span> and <span class="notranslate"> `--user` </span> options. <br> <span class="notranslate"> `$ selectorctl --replace-options=log_errors:on,display_errors:on --version=5.2 --user=user1` </span>|
 |<span class="notranslate"> --delete-options (-x): </span> | removes custom options from user <span class="notranslate"> _alt_php.ini_ </span> file. Requires <span class="notranslate"> `--version` </span> and <span class="notranslate"> `--user` </span> options. <br> <span class="notranslate"> `$ selectorctl --delete-options=log_errors,display_errors --version=5.2 --user=user1` </span>|
 |<span class="notranslate"> --print-options (-P): </span> | print options from <span class="notranslate"> _/etc/cl.selector/php.conf_ </span> file with default values or ones overwritten in user's <span class="notranslate"> _alt_php.ini_ </span> file. <br> <span class="notranslate"> `$ selectorctl --print-options --version=5.2 --user=user1` <br>`TITLE:allow_url_fopen` <br>`DEFAULT:On` <br>`COMMENT:Allows PHP file functions to retrieve data from remote <br>locations over FTP or HTTP. This option is a great security risk, thus do not turn it on without necessity.` <br>`TYPE:bool` <br>`...` </span> <br> Requires <span class="notranslate"> `--user`   </span> option. <span class="notranslate"> `--version` </span> option is optional. When <span class="notranslate"> `--version` </span> is omitted, options for current selected version will be printed. By default outputs as plain test. If <span class="notranslate"> `--json` ,  `--csv` ,  `--perl` </span> is specified, outputs data in corresponding format. For example, with <span class="notranslate"> `--perl` </span> option, the output is perl hash structure that can be evaluated. |
 |<span class="notranslate"> --reset-options (-z): </span> | removes custom options from <span class="notranslate"> _alt_php.ini_ </span> files for ALL users and versions. Backup files in home folders are cleared. <br> <span class="notranslate"> `$ selectorctl --reset-options` </span> <br> The ranges of affected customers or versions can be narrowed with <span class="notranslate"> `--version` </span> or <span class="notranslate"> `--user`  options </span> : <br> <span class="notranslate"> `$ selectorctl --reset-options --user=user1,user2 --version=5.3,5.4` </span>|
 |<span class="notranslate"> --list-users (-L): </span> | list users that use particular version of interpreter, specified with <span class="notranslate"> `--version` </span> option. For example, to see all users that use PHP version 5.3: <br> <span class="notranslate"> `$ selectorctl --list-users --version=5.3` </span>|
 |<span class="notranslate"> --change-to-version (-T): </span> | changes all (or particular user) from one interpreter version to another. <br> <span class="notranslate"> `$ selectorctl --change-to-version=5.2 --version=5.3` </span>|
 
 **Additional options**
 
 | | |
 |-|-|
-|<span class="notranslate"> --base64 (-Q) </span> | Sometimes PHP options values can contain commas and other symbols that break command line formatting. In such a case convert a <span class="notranslate"> key:value </span> pair into <span class="notranslate"> base64 </span> and pass it as value for option-related arguments. For example, to add <span class="notranslate"> disable_functions=exec,popen,system </span> and <span class="notranslate"> display_errors=on </span> to user options, do the following: <br> `$ selectorctl --add-options=$(echo disable_functions:exec,popen,system \| base64 -w 0),$(echo display_errors:on \| base64 -w 0) --version=5.2 --user=user1 --base64` <br> Option <span class="notranslate"> '-w 0' </span> of <span class="notranslate"> base64 </span> executable stands for <span class="notranslate"> 'disable wrapping of lines' </span> . Without it <span class="notranslate"> base64 </span> output will break the command. |
+|<span class="notranslate"> --base64 (-Q) </span> | Sometimes PHP options values can contain commas and other symbols that break command line formatting. In such a case convert a <span class="notranslate"> key:value </span> pair into <span class="notranslate"> base64 </span> and pass it as value for option-related arguments. For example, to set <span class="notranslate"> include_path </span> to a path containing a comma and <span class="notranslate"> display_errors=on </span> (when both directives are allowed in <span class="notranslate"> /etc/cl.selector/php.conf </span>), do the following: <br> `$ selectorctl --add-options=$(printf %s 'include_path:.:/dir/with,comma' \| base64 -w 0),$(printf %s 'display_errors:on' \| base64 -w 0) --version=5.2 --user=user1 --base64` <br> Option <span class="notranslate"> '-w 0' </span> of <span class="notranslate"> base64 </span> executable stands for <span class="notranslate"> 'disable wrapping of lines' </span> . Without it <span class="notranslate"> base64 </span> output will break the command. Use <span class="notranslate"> printf </span> instead of <span class="notranslate"> echo </span> so decoded option values have no trailing newline. |
 |<span class="notranslate"> --quiet </span> | makes <span class="notranslate"> selectorctl </span> continue when it encounter option not found in <span class="notranslate"> _php.conf_ </span>. Without it <span class="notranslate"> selectorctl </span> exits with error.|
 
 
 ## Python Selector
 
 * [Hoster](./#hoster)
 * [Examples](./#examples-3)
 * [Examples](./#examples-4)
 * [End user](./#end-user)
 

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant