* @return string
*/
public function sharedGet(string $path)
{
$contents = '';
$handle = fopen($path, 'rb');
if ($handle) {
// try {
if (flock($handle, LOCK_SH)) {
clearstatcache(true, $path);
$contents = fread($handle, $this->size($path) ?: 1);
//ini_set('error_log' , '/home/solomono/web/solomono.net/sites/dev/php.log');
error_reporting(E_ALL);
set_error_handler(function ($level, $message, $file = '', $line = 0) {
$this->handleError($level, $message, $file, $line);
});
set_exception_handler(function ($e) {
$this->handleException($e);
});
* @return string
*/
public function sharedGet(string $path)
{
$contents = '';
$handle = fopen($path, 'rb');
if ($handle) {
// try {
if (flock($handle, LOCK_SH)) {
clearstatcache(true, $path);
$contents = fread($handle, $this->size($path) ?: 1);
* @throws Exception
*/
public function get(string $path, bool $lock = false)
{
if ($this->isFile($path)) {
return $lock ? $this->sharedGet($path) : file_get_contents($path);
}
throw new Exception("File does not exist at path {$path}");
}
/**
// If the file doesn't exist, we obviously cannot return the cache so we will
// just return null. Otherwise, we'll get the contents of the file and get
// the expiration UNIX timestamps from the start of the file's contents.
try {
$expire = substr(
$contents = $this->files->get($path, true),
0,
10
);
} catch (Exception $e) {
return $this->emptyPayload();
* Retrieve an item from the cache by key.
* @param string|array $key
*/
public function get($key)
{
return $this->getPayload($key)['data'] ?? null;
}
/**
* Store an item in the cache for a given number of seconds.
* @param string $key
{
if (is_array($key)) {
return $this->many($key);
}
$value = $this->store->get($this->itemKey($key));
// If we could not find the cache value, we will fire the missed event and get
// the default value for this cache value. This default could be a callback
// so we will execute the value function which will resolve it if needed.
if (is_null($value)) {
* @param Closure $callback
* @return mixed
*/
public function remember($key, $ttl, Closure $callback)
{
$value = $this->get($key);
// If the item exists in the cache we will just return this immediately and if
// not we will execute the given Closure and cache the result of that for a
// given number of seconds so it's available for all subsequent requests.
if (!is_null($value)) {
public static function remember(string $key, \Closure $closure, $ttl = 60 * 5)
{
try {
return self::getRepository()
->remember(
$key,
$ttl,
$closure
);
} catch (\Exception $exception) {
Log::critical($exception->getMessage(), [
$configurations = FileCacheHelper::remember(
'config',
fn() => tep_db_query(
'select configuration_key as cfgKey, configuration_value as cfgValue from ' . TABLE_CONFIGURATION
)->fetch_all(MYSQLI_ASSOC)
);
foreach ($configurations as $configuration) {
$check_modules_folders = explode(':', $configuration['cfgValue']);
if (
count(
define('PAGE_PARSE_START_TIME', microtime(true));
define("SECONDS_PER_WEEK", 604800);
header("Content-Security-Policy: default-src data: * 'unsafe-inline' 'unsafe-eval'; frame-ancestors 'none';");
$saveDbPrepareInput = [];
require_once __DIR__ . "/application_main.php";
//redirect to a new domain name
if(getConstantValue('DOMEN_URL','') != '' && getConstantValue('DOMEN_URL') != $_SERVER['HTTP_HOST']){
header('Location: http://' . getConstantValue('DOMEN_URL'));
exit();
}
use JsonLd\Container;
use JsonLd\Product;
use JsonLd\ProductReview;
require('includes/application_top.php');
includeLanguages(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO);
// define current template constants:
$productAvailable = false;
$productReviewsArr = [];
ErrorException
|
---|
ErrorException: fopen(/home/gensec/web/gensec.com.ua/public_html/storage/cache/df/ba/dfba7aade0868074c2861c98e2a9a92f3178a51b): failed to open stream: No such file or directory at /home/gensec/web/gensec.com.ua/public_html/app/Classes/Filesystem/Filesystem.php:50 at Bootstrap\HandleExceptions->handleError() (/home/gensec/web/gensec.com.ua/public_html/bootstrap/HandleExceptions.php:32) at Bootstrap\HandleExceptions->Bootstrap\{closure}() at fopen() (/home/gensec/web/gensec.com.ua/public_html/app/Classes/Filesystem/Filesystem.php:50) at App\Classes\Filesystem\Filesystem->sharedGet() (/home/gensec/web/gensec.com.ua/public_html/app/Classes/Filesystem/Filesystem.php:38) at App\Classes\Filesystem\Filesystem->get() (/home/gensec/web/gensec.com.ua/public_html/app/Classes/Cache/Store/FileStore.php:200) at App\Classes\Cache\Store\FileStore->getPayload() (/home/gensec/web/gensec.com.ua/public_html/app/Classes/Cache/Store/FileStore.php:46) at App\Classes\Cache\Store\FileStore->get() (/home/gensec/web/gensec.com.ua/public_html/app/Classes/Cache/Repository.php:65) at App\Classes\Cache\Repository->get() (/home/gensec/web/gensec.com.ua/public_html/app/Classes/Cache/Repository.php:319) at App\Classes\Cache\Repository->remember() (/home/gensec/web/gensec.com.ua/public_html/app/Classes/Cache/Helpers/FileCacheHelper.php:154) at App\Classes\Cache\Helpers\FileCacheHelper::remember() (/home/gensec/web/gensec.com.ua/public_html/includes/application_main.php:32) at require_once('/home/gensec/web/gensec.com.ua/public_html/includes/application_main.php') (/home/gensec/web/gensec.com.ua/public_html/includes/application_top.php:8) at require('/home/gensec/web/gensec.com.ua/public_html/includes/application_top.php') (/home/gensec/web/gensec.com.ua/public_html/product_info.php:8) |