The --maximum
prefix is available for mysqld only and permits a limit to be placed on how large client programs can set session system variables. To do this, use a --maximum
prefix with the variable name. For example, --maximum-max_heap_table_size=32M
prevents any client from making the heap table size limit larger than 32M.
The --maximum
prefix is intended for use with system variables that have a session value. If applied to a system variable that has only a global value, an error occurs. For example, with --maximum-back_log=200
, the server produces this error:
Maximum value of 'back_log' cannot be set
global
is just a keyword to access a variable that is declared in the top level scope and isn't available in the actual scope. This hasn't anything to do with the session: do not persist between pages.
$a = "test";
function useGlobalVar(){
echo $a; // prints nothing, $a is not availabe in this scope
global $a;
echo $a; // prints "test"
}
$GLOBALS
is another way to access top-level scope variables without using the global
keyword:
$a = "test";
function useGlobalVar(){
echo $GLOBAL['a']; // prints "test"
}
There's a bit of of confusion between global
and superglobals
: Superglobals (like $GLOBALS, $_REQUEST, $_SERVER) are available in any scope without you having to make a global declaration. Again, they do not persist between pages (with the exception of $_SESSION).
$_SESSION is a Superglobal array that persist across different pages.