Documentación offline PHP master

LuaSandbox::setCPULimit

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

LuaSandbox::setCPULimit

Define la limitación de tiempo CPU para el entorno Lua

Descripción#

public LuaSandbox::setCPULimit(float $limit): void
```php

Define la limitación de tiempo CPU para el entorno Lua.

Si el tiempo total de usuario y sistema utilizado por el entorno después de la llamada a este método excede este límite, se lanza una excepción `LuaSandboxTimeoutError`.

El tiempo utilizado en las funciones de retrollamada PHP se incluye en el límite.

Definir el tiempo límite a una función de retrollamada Lua en ejecución provoca que el temporizador se reinicie, o se inicie si no estaba ya en ejecución.

> [!NOTE]
> En Windows, la limitación de tiempo CPU será ignorada. En los sistemas operativos que no soportan `CLOCK_THREAD_CPUTIME_ID`, como FreeBSD y Mac OS X, el tiempo transcurrido en el muro, en lugar del tiempo CPU, será limitado.

## Parámetros

`limit`  
El límite como `float` en segundos, o `false` para ningún límite.

## Valores devueltos

No se retorna ningún valor.

## Ejemplos

Llamada a una función Lua
setCPULimit( 2 ); // lanza el código Lua $sandbox->loadString( 'while true do end' )->call(); ?>

```php

Resultado del ejemplo anterior es similar a:

PHP Fatal error:  Uncaught LuaSandboxTimeoutError: The maximum execution time for this script was exceeded

Véase también#

LuaSandbox::getCPUUsage

LuaSandbox::setMemoryLimit