PHP/MySQL | extension_load_array :: PHP
Тема закрыта by
rekmixa
Причина: Не подходит этот код

Причина: Не подходит этот код
<?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
Во-первых на некоторых шаредах уже есть возможность включения и выключения расширений
________
посл. ред. 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, это легко подправить. могу и в ооп переделать, если это покажется удобнее
Anton Metronome, это легко подправить. могу и в ооп переделать, если это покажется удобнее
Дак нет, как это пытается? По методу "Взломать сервант, и взять конфеты"?
rekmixa, а если у меня нету файла с расширением, то что тогда?
Avenax (05.09.2017 в 23:05)
rekmixa, а если у меня нету файла с расширением, то что тогда?
rekmixa, а если у меня нету файла с расширением, то что тогда?
выдается предупреждение "Аяяй! Где файл?"

Стр.: 1, 2