more pre-install checks to sort out broken environments
This commit is contained in:
parent
0a03a710b3
commit
9fb967ae34
|
@ -95,6 +95,9 @@ function install_content(&$a) {
|
||||||
|
|
||||||
$o .= check_php($phpath);
|
$o .= check_php($phpath);
|
||||||
|
|
||||||
|
$o .= check_keys();
|
||||||
|
|
||||||
|
|
||||||
require_once('datetime.php');
|
require_once('datetime.php');
|
||||||
|
|
||||||
$tpl = load_view_file('view/install_db.tpl');
|
$tpl = load_view_file('view/install_db.tpl');
|
||||||
|
@ -115,12 +118,44 @@ function check_php(&$phpath) {
|
||||||
$o = '';
|
$o = '';
|
||||||
$phpath = trim(shell_exec('which php'));
|
$phpath = trim(shell_exec('which php'));
|
||||||
if(! strlen($phpath)) {
|
if(! strlen($phpath)) {
|
||||||
$o .= t('Could not find a command line version of PHP in the web server PATH.');
|
$o .= t('Could not find a command line version of PHP in the web server PATH.') . EOL;
|
||||||
$o .= t('This is required. Please adjust the configuration file .htconfig.php accordingly.');
|
$o .= t('This is required. Please adjust the configuration file .htconfig.php accordingly.') . EOL;
|
||||||
|
}
|
||||||
|
if(strlen($phpath)) {
|
||||||
|
$str = autoname(8);
|
||||||
|
$cmd = "$phpath testargs.php $str";
|
||||||
|
$result = trim(shell_exec($cmd));
|
||||||
|
if($result != $str) {
|
||||||
|
$o .= t('The command line version of PHP on your system does not have "register_argc_argv" enabled.') . EOL;
|
||||||
|
$o .= t('This is required for message delivery to work.') . EOL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return $o;
|
return $o;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function check_keys() {
|
||||||
|
|
||||||
|
$o = '';
|
||||||
|
|
||||||
|
$res = false;
|
||||||
|
|
||||||
|
if(function_exists('openssl_pkey_new'))
|
||||||
|
$res=openssl_pkey_new(array(
|
||||||
|
'digest_alg' => 'sha1',
|
||||||
|
'private_key_bits' => 4096,
|
||||||
|
'encrypt_key' => false ));
|
||||||
|
|
||||||
|
// Get private key
|
||||||
|
|
||||||
|
if(! $res)
|
||||||
|
$o .= t('Error: the "openssl_pkey_new" function on this system is not able to generate encryption keys') . EOL;
|
||||||
|
|
||||||
|
return $o;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function check_funcs() {
|
function check_funcs() {
|
||||||
if((function_exists('apache_get_modules')) && (! in_array('mod_rewrite',apache_get_modules())))
|
if((function_exists('apache_get_modules')) && (! in_array('mod_rewrite',apache_get_modules())))
|
||||||
notice( t('Error: Apache webserver mod-rewrite module is required but not installed.') . EOL);
|
notice( t('Error: Apache webserver mod-rewrite module is required but not installed.') . EOL);
|
||||||
|
|
6
testargs.php
Normal file
6
testargs.php
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
if(($argc > 1) && isset($argv[1]))
|
||||||
|
echo $argv[1];
|
||||||
|
else
|
||||||
|
echo '';
|
Loading…
Reference in a new issue