Loading...
PHP/MySQL | extension_load_array :: PHP

<?php
// Загрузка расширений CGI
function extension_load_array($extensions = []) {

$count = 0;

foreach ($extensions as $name) {

if (extension_loaded($name)) {

$count++;

} elseif (dl($name)) {

$count++;

}

}

return $count;

}

// Пример
$ext = ['pdo', 'openssl', 'exif', 'mbstring'];
$load = extension_load_array($ext);
if (count($ext) == $load) {
echo 'Success';
} else {
echo 'Error';
}
?>

Эта функция проверяет загружены ли указанные расширения. В случае, если расширение загружено - прибавляет +1 к числу count, иначе пытается включить его и в случае успеха также прибавляет +1
Что? Во что? Как?
Например, мне для установки какого-либо движка нужны определенные расширения. Я отдаю список расширений функции extension_load_array; далее проверяю если возвращенное число равно количеству переданных в массиве расширений - то всё ОК: Расширения проверены и, по необходимости, включены:-)
Как вам такая штуковина?
Критикуйте, предлогайте свои идеи...
Моё предложение: Не стоит надеяться на этот код, т.к все зависит от конфигов в режиме CGI.
Во-первых на некоторых шаредах уже есть возможность включения и выключения расширений
________
посл. ред. 05.09.2017 в 22:57; всего 1 раз(а); by Anton Metronome
Anton Metronome, я понимаю. Но можно его использовать как попытку при инсталле движка. Если что-то пошло не так - сообщить пользователю, чтобы он вручную включил то, что не прошло проверку:-)
rekmixa, дак есть другое условие. Не эта конструкция. Было заявление что данный код включает расширения.
Anton Metronome, это легко подправить. могу и в ооп переделать, если это покажется удобнее
rekmixa, пытается включить? В какой строке кода?
Avenax, функция dlГг
rekmixa (05.09.2017 в 23:01)
Anton Metronome, это легко подправить. могу и в ооп переделать, если это покажется удобнее

Дак нет, как это пытается? По методу "Взломать сервант, и взять конфеты"?
rekmixa, а если у меня нету файла с расширением, то что тогда?
Avenax (05.09.2017 в 23:05)
rekmixa, а если у меня нету файла с расширением, то что тогда?

выдается предупреждение "Аяяй! Где файл?":-D
Онлайн: 2
Время:
Gen. 0.1065
(c) Bym.Guru 2010-2025