⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.93
Server IP:
65.108.141.171
Server:
Linux server.heloix.com 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
webmin
/
virtual-server
/
View File Name :
list-php-ini.pl
#!/usr/bin/perl =head1 list-php-ini.pl Show PHP variables for some or all domains. This command can be used to list the value of a PHP configuration variable (set in the php.ini file) for one or many virtual servers at once. The servers to update can be selected with the C<--domain> or C<--user> flags, or you can choose to modify them all with the C<--all-domains> option. If your system supports multiple PHP versions, you can limit the changes to the config for a specific version with the C<--php-version> flag followed by a number, like 7.4 or 8.2. The variables to show are set with the C<--ini-name> flag, which can be given multiple times to list more than one variable. =cut package virtual_server; if (!$module_name) { $main::no_acl_check++; $ENV{'WEBMIN_CONFIG'} ||= "/etc/webmin"; $ENV{'WEBMIN_VAR'} ||= "/var/webmin"; if ($0 =~ /^(.*)\/[^\/]+$/) { chdir($pwd = $1); } else { chop($pwd = `pwd`); } $0 = "$pwd/list-php-ini.pl"; require './virtual-server-lib.pl'; $< == 0 || die "list-php-ini.pl must be run as root"; } &foreign_require("phpini"); @OLDARGV = @ARGV; &set_all_text_print(); # Parse command-line args while(@ARGV > 0) { local $a = shift(@ARGV); if ($a eq "--domain") { push(@domains, shift(@ARGV)); } elsif ($a eq "--user") { push(@users, shift(@ARGV)); } elsif ($a eq "--all-domains") { $all_doms = 1; } elsif ($a eq "--ini-name") { push(@ini_names, shift(@ARGV)); } elsif ($a eq "--php-version") { $php_ver = shift(@ARGV); } elsif ($a eq "--name-only") { $nameonly = 1; } elsif ($a eq "--multiline") { $multiline = 1; } elsif ($a eq "--help") { &usage(); } else { &usage("Unknown parameter $a"); } } # Validate parameters @domains || @users || $all_doms || usage("No domains to modify specified"); @ini_names || &usage("The --ini-name parameter must be given at least once"); # Get the domains if (@domains || @users) { @doms = &get_domains_by_names_users(\@domains, \@users, \&usage); } else { @doms = &list_domains(); } # Get from domain foreach my $d (@doms) { # Check if this domain even makes sense next if (!&domain_has_website($d) || $d->{'alias'}); $mode = &get_domain_php_mode($d); next if ($mode eq "mod_php" || $mode eq "none"); # Get the ini files @inis = sort { $b->[0] <=> $a->[0] } &list_domain_php_inis($d); if ($php_ver) { ($ini) = grep { $_->[0] == $php_ver } @inis; } else { $ini = $inis[0]; } next if (!$ini); # Get the values $conf = &phpini::get_config($ini->[1]); if ($nameonly) { foreach $n (@ini_names) { $v = &phpini::find_value($n, $conf); print $v,"\n"; } } else { print $d->{'dom'},"\n"; foreach $n (@ini_names) { $v = &phpini::find_value($n, $conf); print " ${n}: $v\n"; } } } sub usage { print "$_[0]\n\n" if ($_[0]); print "Shows PHP variables for some or all domains.\n"; print "\n"; print "virtualmin list-php-ini --domain name | --user name | --all-domains\n"; print " [--php-version number]\n"; print " <--ini-name name>+ <--ini-value value>+\n"; print " [--name-only]\n"; exit(1); }