From 4791e5b24545ce5b25f577051eeb2248f1c2de61 Mon Sep 17 00:00:00 2001 From: Fabrixxm Date: Fri, 1 Mar 2013 04:43:04 -0500 Subject: [PATCH] install: add check for php-cli Check won't pass if $php -v won't return "(cli)" --- mod/install.php | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/mod/install.php b/mod/install.php index 7247ebb2c1..eda6b137f4 100755 --- a/mod/install.php +++ b/mod/install.php @@ -309,6 +309,7 @@ function check_add(&$checks, $title, $status, $required, $help){ } function check_php(&$phpath, &$checks) { + $passed = $passed2 = $passed3 = false; if (strlen($phpath)){ $passed = file_exists($phpath); } else { @@ -330,16 +331,30 @@ function check_php(&$phpath, &$checks) { check_add($checks, t('Command line PHP').($passed?" ($phpath)":""), $passed, false, $help); 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: ')."$result"; + } + check_add($checks, t('PHP cli binary'), $passed2, true, $help); + } + + + if($passed2) { $str = autoname(8); $cmd = "$phpath testargs.php $str"; $result = trim(shell_exec($cmd)); - $passed2 = $result == $str; + $passed3 = $result == $str; $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('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); }