PHP.mk документација
Основна употреба за LuaSandbox
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
luasandbox.examples-basic.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + преведен приказ
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
luasandbox.examples-basic.php
Основна употреба за LuaSandbox
Референца за `luasandbox.examples-basic.php` со подобрена типографија и навигација.
Основна употреба за LuaSandbox
Откако ќе го компајлирате PHP со поддршка за LuaSandbox, можете да почнете да користите LuaSandbox за безбедно извршување на кориснички обезбеден Lua код.
Откако ќе го компајлирате PHP со поддршка за LuaSandbox, можете да почнете да користите LuaSandbox за безбедно извршување на кодот на Lua обезбеден од корисникот.
<?php
$sandbox = new LuaSandbox;
$sandbox->setMemoryLimit( 50 * 1024 * 1024 );
$sandbox->setCPULimit( 10 );
// Register some functions in the Lua environment
function frobnosticate( $v ) {
return [ $v + 42 ];
}
$sandbox->registerLibrary( 'php', [
'frobnosticate' => 'frobnosticate',
'output' => function ( $string ) {
echo "$string\n";
},
'error' => function () {
throw new LuaSandboxRuntimeError( "Something is wrong" );
}
] );
// Execute some Lua code, including callbacks into PHP and into Lua
$luaCode = <<<EOF
php.output( "Hello, world" );
return "Hi", function ( v )
return php.frobnosticate( v + 200 )
end
EOF;
list( $hi, $frob ) = $sandbox->loadString( $luaCode )->call();
assert( $frob->call( 4000 ) === [ 4242 ] );
// PHP-thrown LuaSandboxRuntimeError exceptions can be caught inside Lua
list( $ok, $message ) = $sandbox->loadString( 'return pcall( php.error )' )->call();
assert( !$ok );
assert( $message === 'Something is wrong' );
?>Белешки од корисници
Нема белешки од корисници за оваа страница.