2021-02-26 16:16:17 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace Safe;
|
|
|
|
|
|
|
|
use Safe\Exceptions\OpcacheException;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This function compiles a PHP script and adds it to the opcode cache without
|
|
|
|
* executing it. This can be used to prime the cache after a Web server
|
|
|
|
* restart by pre-caching files that will be included in later requests.
|
|
|
|
*
|
2022-07-12 19:26:21 +00:00
|
|
|
* @param string $filename The path to the PHP script to be compiled.
|
2021-02-26 16:16:17 +00:00
|
|
|
* @throws OpcacheException
|
|
|
|
*
|
|
|
|
*/
|
2022-07-12 19:26:21 +00:00
|
|
|
function opcache_compile_file(string $filename): void
|
2021-02-26 16:16:17 +00:00
|
|
|
{
|
|
|
|
error_clear_last();
|
2022-07-12 19:26:21 +00:00
|
|
|
$result = \opcache_compile_file($filename);
|
2021-02-26 16:16:17 +00:00
|
|
|
if ($result === false) {
|
|
|
|
throw OpcacheException::createFromPhpError();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
2022-07-12 19:26:21 +00:00
|
|
|
* This function returns state information about the in-memory cache instance. It will not return any
|
|
|
|
* information about the file cache.
|
2021-02-26 16:16:17 +00:00
|
|
|
*
|
2022-07-12 19:26:21 +00:00
|
|
|
* @param bool $include_scripts Include script specific state information
|
2021-02-26 16:16:17 +00:00
|
|
|
* @return array Returns an array of information, optionally containing script specific state information.
|
|
|
|
* @throws OpcacheException
|
|
|
|
*
|
|
|
|
*/
|
2022-07-12 19:26:21 +00:00
|
|
|
function opcache_get_status(bool $include_scripts = true): array
|
2021-02-26 16:16:17 +00:00
|
|
|
{
|
|
|
|
error_clear_last();
|
2022-07-12 19:26:21 +00:00
|
|
|
$result = \opcache_get_status($include_scripts);
|
2021-02-26 16:16:17 +00:00
|
|
|
if ($result === false) {
|
|
|
|
throw OpcacheException::createFromPhpError();
|
|
|
|
}
|
|
|
|
return $result;
|
|
|
|
}
|