Merge pull request #636 from fabrixxm/installer/checkphpcli
install: add check for php-cli
This commit is contained in:
commit
ee263aec55
1 changed files with 18 additions and 3 deletions
|
@ -309,6 +309,7 @@ function check_add(&$checks, $title, $status, $required, $help){
|
||||||
}
|
}
|
||||||
|
|
||||||
function check_php(&$phpath, &$checks) {
|
function check_php(&$phpath, &$checks) {
|
||||||
|
$passed = $passed2 = $passed3 = false;
|
||||||
if (strlen($phpath)){
|
if (strlen($phpath)){
|
||||||
$passed = file_exists($phpath);
|
$passed = file_exists($phpath);
|
||||||
} else {
|
} else {
|
||||||
|
@ -330,16 +331,30 @@ function check_php(&$phpath, &$checks) {
|
||||||
check_add($checks, t('Command line PHP').($passed?" (<tt>$phpath</tt>)":""), $passed, false, $help);
|
check_add($checks, t('Command line PHP').($passed?" (<tt>$phpath</tt>)":""), $passed, false, $help);
|
||||||
|
|
||||||
if($passed) {
|
if($passed) {
|
||||||
|
$cmd = "$phpath -v";
|
||||||
|
$result = trim(shell_exec($cmd));
|
||||||
|
$passed2 = ( strpos($result, "(cli)") !== false );
|
||||||
|
list($result) = explode("\n", $result);
|
||||||
|
$help = "";
|
||||||
|
if(!$passed2) {
|
||||||
|
$help .= t('PHP executable is not the php cli binary (could be cgi-fgci version)'). EOL;
|
||||||
|
$help .= t('Found PHP version: ')."<tt>$result</tt>";
|
||||||
|
}
|
||||||
|
check_add($checks, t('PHP cli binary'), $passed2, true, $help);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if($passed2) {
|
||||||
$str = autoname(8);
|
$str = autoname(8);
|
||||||
$cmd = "$phpath testargs.php $str";
|
$cmd = "$phpath testargs.php $str";
|
||||||
$result = trim(shell_exec($cmd));
|
$result = trim(shell_exec($cmd));
|
||||||
$passed2 = $result == $str;
|
$passed3 = $result == $str;
|
||||||
$help = "";
|
$help = "";
|
||||||
if(!$passed2) {
|
if(!$passed3) {
|
||||||
$help .= t('The command line version of PHP on your system does not have "register_argc_argv" enabled.'). EOL;
|
$help .= t('The command line version of PHP on your system does not have "register_argc_argv" enabled.'). EOL;
|
||||||
$help .= t('This is required for message delivery to work.');
|
$help .= t('This is required for message delivery to work.');
|
||||||
}
|
}
|
||||||
check_add($checks, t('PHP register_argc_argv'), $passed, true, $help);
|
check_add($checks, t('PHP register_argc_argv'), $passed3, true, $help);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue