See issue 1218: generate $argv and $argc from $_SERVER if it wasn't defined.

This commit is contained in:
Michael Vogel 2015-01-02 00:01:17 +01:00
parent 8c8ffdf999
commit 38a45d325f
3 changed files with 15 additions and 6 deletions

View File

@ -2388,3 +2388,11 @@ if(!function_exists('exif_imagetype')) {
return($size[2]); return($size[2]);
} }
} }
// See https://github.com/friendica/friendica/issues/1218
// Try to get the values for $argv and $argc via the $_SERVER array
if (!isset($argv) && array_key_exists('argv', $_SERVER))
$argv = $_SERVER['argv'];
if (!isset($argc) && array_key_exists('argc', $_SERVER))
$argv = $_SERVER['argc'];

View File

@ -8,7 +8,7 @@ function dbupdate_run(&$argv, &$argc) {
if(is_null($a)){ if(is_null($a)){
$a = new App; $a = new App;
} }
if(is_null($db)) { if(is_null($db)) {
@include(".htconfig.php"); @include(".htconfig.php");
require_once("include/dba.php"); require_once("include/dba.php");
@ -26,4 +26,3 @@ if (array_search(__file__,get_included_files())===0){
dbupdate_run($argv,$argc); dbupdate_run($argv,$argc);
killme(); killme();
} }

View File

@ -8,14 +8,16 @@
* During installation we need to check if register_argc_argv is * During installation we need to check if register_argc_argv is
* enabled for the command line PHP processor, because otherwise * enabled for the command line PHP processor, because otherwise
* deliveries will fail. So we will do a shell exec of php and * deliveries will fail. So we will do a shell exec of php and
* execute this file with a command line argument, and see if it * execute this file with a command line argument, and see if it
* echoes the argument back to us. Otherwise notify the person * echoes the argument back to us. Otherwise notify the person
* that their installation doesn't meet the system requirements. * that their installation doesn't meet the system requirements.
* *
*/ */
if(($argc > 1) && isset($argv[1])) if(($argc > 1) && isset($argv[1]))
echo $argv[1]; echo $argv[1];
elseif(($_SERVER["argc"] > 1) && isset($_SERVER["argv"][1]))
echo $_SERVER["argv"][1];
else else
echo ''; echo '';