CakeFest 2024: The Official CakePHP Conference

ini_get_all

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

ini_get_allTüm yapılandırma yönergelerini döndürür

Açıklama

ini_get_all(?string $eklenti = null, bool $ayrıntılı = true): array|false

Kayıtlı yapılandırma seçeneklerinin hepsini değerleriyle döndürür.

Bağımsız Değişkenler

eklenti

İsteğe bağlı olarak bir eklenti ismi. null değilse ve core dizgesi belirtilmemişse sadece belirtilen eklentiye özgü yönergeler döndürülür.

ayrıntılı

Ya her ayarın geçerli değeri ya da her ayarın ayrıntılı değerleri döndürülür. Öntanımlı olan true değeri ayrıntılı bir çıktı üretir.

Dönen Değerler

Yönerge isimlerinin dizinin anahtarları olduğu bir dizi döner. eklenti bağımsız değişkeni atlanmışsa false döner ve E_WARNING seviyesinde bir hata oluşur.

ayrıntılı bağımsız değişkeni true (öntanımlı) olduğu takdirde dizinin her elemanı, anahtarları global_value (php.ini'de atanmış değer), local_value (ini_set() veya .htaccess üzerinden atanmış değer), ve access (erişim seviyesi) olan bir alt dizi içerir.

ayrıntılı bağımsız değişkeni false olduğu takdirde her elemanın değeri sadece yönergenin geçerli değerini içerecektir.

Bkz. Yapılandırma ayarlarının yeri

Bilginize:

Bir yönergenin, access anahtarı altında bir bit maskesi değeri olarak çok sayıda erişim seviyesine sahip olması mümkündür.

Örnekler

Örnek 1 - ini_get_all() örnekleri

<?php
print_r
(ini_get_all("pcre"));
print_r(ini_get_all());
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [pcre.backtrack_limit] => Array
        (
            [global_value] => 100000
            [local_value] => 100000
            [access] => 7
        )

    [pcre.recursion_limit] => Array
        (
            [global_value] => 100000
            [local_value] => 100000
            [access] => 7
        )

)
Array
(
    [allow_call_time_pass_reference] => Array
        (
            [global_value] => 0
            [local_value] => 0
            [access] => 6
        )

    [allow_url_fopen] => Array
        (
            [global_value] => 1
            [local_value] => 1
            [access] => 4
        )

    ...

)

Örnek 2 - Ayrıntısız listeleme

<?php
print_r
(ini_get_all("pcre", false)); // PHP 5.3.0'dan itibaren
print_r(ini_get_all(null, false)); // PHP 5.3.0'dan itibaren
?>

Yukarıdaki örnek şuna benzer bir çıktı üretir:

Array
(
    [pcre.backtrack_limit] => 100000
    [pcre.recursion_limit] => 100000
)
Array
(
    [allow_call_time_pass_reference] => 0
    [allow_url_fopen] => 1
    ...
)

Notlar

Bilginize:

ini_get_all() işlevi pdo.dsn.* gibi "dizi" ini yönergelerini yok sayar.

Ayrıca Bakınız

add a note

User Contributed Notes 5 notes

up
11
justd@ntmailme
21 years ago
I guess the third entry is the required access level (to change this variable at runtime):

Constant Value Meaning
PHP_INI_USER 1 Entry can be set in user scripts
PHP_INI_PERDIR 2 Entry can be set in php.ini, .htaccess or httpd.conf
PHP_INI_SYSTEM 4 Entry can be set in php.ini or httpd.conf
PHP_INI_ALL 7 Entry can be set anywhere

See also the docs for ini_set()

Hugo.
up
4
pmdumuid at gmail dot com
8 years ago
echo recreate_php_ini();

/**
* Sample function to re-create a php ini config file.
*
* @return string
*/
function recreate_php_ini() {
$a = ini_get_all();

$data = [];
foreach (array_keys($a) as $k) {
$ss = split("\.", $k);
if (count($ss) == 1) {
$sec = "PHP";
$v = $k;
} else {
$sec = $ss[0];
$v = $ss[1];
}
$data[$sec][$v] = $a[$k]['global_value'];
}
ksort($data);
$out = "";
foreach ($data as $sec => $data) {
$out .= "[$sec]\n";
ksort($data);
foreach ($data as $k => $v) {
if (is_numeric($v)) {
$out .= sprintf("%-40s = %s\n", $k, $v);
} else {
$out .= sprintf("%-40s = \"%s\"\n", $k, $v);
}
}
$out .= "\n";
}
return $out;
}
up
3
Julien MOREAU aka PixEye
5 years ago
If you want to load and parse your own ini file, have a look at parse_ini_file() function. Example:

<?php
// ...
$my_data = parse_ini_file($my_file, true);
up
-3
peter at peteraba dot com
8 years ago
You can use the following snippet on servers to grab the live/staging configs in order to be able to replicate those in your development environment. (I use `php -a` for this)
<?php
foreach (ini_get_all(null, false) as $key => $value) echo "$key=$value;\n";
?>
up
-5
root at mantoru dot de
16 years ago
Since a certain PHP version (I think it's 5.2.5) it is no longer possible to override INI entrys set with php_admin_* in httpd.conf. The access level will be set to 4 (PHP_INI_SYSTEM), which is also returned by this function.

The constants mentioned below are available in PHP, but without the prefix (e.g. INI_USER, INI_PERDIR).
To Top