Merge pull request #636 from fabrixxm/installer/checkphpcli

install: add check for php-cli
This commit is contained in:
fermionic 2013-03-03 07:51:51 -08:00
commit ee263aec55
1 changed files with 18 additions and 3 deletions

View File

@ -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);
} }