сделать оболочку zip доступной для php - PullRequest
0 голосов
/ 09 июня 2018

Привет, я получил стек LEMP и Ubuntu 18.04 с php 7.2.5. Информация о сервере говорит, что Shell Exec поддерживается. Shell Exec Zip не поддерживается

, поэтому некоторые из моих плагинов говорят, что этот сервер не настроен для ядра Shell Zip- Пожалуйста, используйте другой режим двигателя.Чтобы сделать «Shell Zip» доступным, попросите хост: 1. Установить исполняемый файл zip и сделать его доступным для PHP.

Я пробую этот код PHP - Как узнать, разрешает ли сервер shell_exec

  if(function_exists('shell_exec')) {
        echo "exec is enabled";
    }

и функция включена

, однако, когда я проверяю, является ли она исполняемой с кодом, приведенным ниже, ничего не происходит.

Как указал DanFromGermany, вы, вероятно, проверьте, если он исполняемый.Что-то вроде этого сделало бы это

if(shell_exec('echo foobar') == 'foobar'){
    echo 'shell_exec works';
}

или попробовало это, также ничего не возвращает, просто белая страница

 // Exec function exists.
    // Exec is not disabled.
    // Safe Mode is not on.
    $exec_enabled =
       function_exists('exec') &&
       !in_array('exec', array_map('trim', explode(', ', ini_get('disable_functions')))) &&
       strtolower(ini_get('safe_mode')) != 1
    ;


    if($exec_enabled) { exec('blah'); }

Я также проверил с кодом ниже от https://wpguru.co.uk/2014/01/how-to-test-if-a-shell-command-will-work-in-php/ и он работает

// helper function
function checkShellCommand($command) {
    $returnValue = shell_exec("$command");
    if(empty($returnValue)) {
        return false;
    } else {
        return true;
    }
}

// test the shell command you'd like to use
if (!checkShellCommand('uname -a')) {
    print 'This command cannot be executed.';
} else {
    echo shell_exec('uname -a');
}

Итак, кто-нибудь может сказать мне, как я могу сделать его доступным для PHP

Большое спасибо

1 Ответ

0 голосов
/ 24 июня 2018

это было решено

apt-get install zip unzip
...