Optimization: make it less cumbersome to have the APC user cache enabled for PHP 5.5+. Prior to this enhancement, it used to require a compilation flag (for apcu) until PHP7... then it became mandatory to install a dedicated backward compatibility module named after apcu_bc. Now, having apcu installed and enabled is ENOUGH.

SVN:trunk[4415]
This commit is contained in:
Romain Quetiez
2016-09-26 15:54:41 +00:00
parent 2f8dc0fa0f
commit c755b66d8c
2 changed files with 38 additions and 0 deletions

37
core/apc-compat.php Normal file
View File

@@ -0,0 +1,37 @@
<?php
// Copyright (C) 2016 Combodo SARL
//
// This file is part of iTop.
//
// iTop is free software; you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// iTop is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with iTop. If not, see <http://www.gnu.org/licenses/>
if (!function_exists('apc_store') && function_exists('apcu_store'))
{
// Emulate the API of APC, over APCU
// Note: for PHP < 7, this compatibility used to be provided by APCU itself (if compiled with some options)
// for PHP 7+, it can be provided by the mean of apcu_bc, which is not so simple to install
// The current emulation aims at skipping this complexity
function apc_store($key, $var, $ttl = 0)
{
return apcu_store($key, $var, $ttl);
}
function apc_fetch($key)
{
return apcu_fetch($key);
}
function apc_delete($key)
{
return apcu_delete($key);
}
}