Autore Topic: trsferimento:Call to undefined function apc_cache_info()  (Letto 4521 volte)

Offline surferbloggy

  • Esploratore
  • **
  • Post: 129
    • Mostra profilo
Ciao ho trasferito un sito joomla 2.5 da un dominio ad un altro e nel nuovo dominio mi da errrore su

Fatal error
:  Call to undefined function apc_cache_info() in /home/hipkoder/public_html/miosito.com/libraries/joomla/cache/storage/apc.php on line 132

che sarebbe questa
$allinfo = apc_cache_info('user');

questa è la pagina apc.php
 cosa dovrei fare???grazie dell'aiuto

Codice: [Seleziona]
<?php
/**
 * @package     Joomla.Platform
 * @subpackage  Cache
 *
 * @copyright   Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE
 */

defined('JPATH_PLATFORM') or die;

/**
 * APC cache storage handler
 *
 * @package     Joomla.Platform
 * @subpackage  Cache
 * @see         http://php.net/manual/en/book.apc.php
 * @since       11.1
 */
class JCacheStorageApc extends JCacheStorage
{
    
/**
     * Get cached data from APC by id and group
     *
     * @param   string   $id         The cache data id
     * @param   string   $group      The cache data group
     * @param   boolean  $checkTime  True to verify cache time expiration threshold
     *
     * @return  mixed    Boolean     False on failure or a cached data string
     *
     * @since   11.1
     */
    
public function get($id$group$checkTime true)
    {
        
$cache_id $this->_getCacheId($id$group);
        return 
apc_fetch($cache_id);
    }

    
/**
     * Get all cached data
     *
     * @return  array  data
     *
     * @since   11.1
     */
    
public function getAll()
    {
        
parent::getAll();

        
$allinfo apc_cache_info('user');
        
$keys $allinfo['cache_list'];
        
$secret $this->_hash;

        
$data = array();

        foreach (
$keys as $key)
        {

            
$name $key['info'];
            
$namearr explode('-'$name);

            if (
$namearr !== false && $namearr[0] == $secret && $namearr[1] == 'cache')
            {
                
$group $namearr[2];

                if (!isset(
$data[$group]))
                {
                    
$item = new JCacheStorageHelper($group);
                }
                else
                {
                    
$item $data[$group];
                }

                
$item->updateSize($key['mem_size'] / 1024);

                
$data[$group] = $item;
            }
        }

        return 
$data;
    }

    
/**
     * Store the data to APC by id and group
     *
     * @param   string  $id     The cache data id
     * @param   string  $group  The cache data group
     * @param   string  $data   The data to store in cache
     *
     * @return  boolean  True on success, false otherwise
     *
     * @since   11.1
     */
    
public function store($id$group$data)
    {
        
$cache_id $this->_getCacheId($id$group);
        return 
apc_store($cache_id$data$this->_lifetime);
    }

    
/**
     * Remove a cached data entry by id and group
     *
     * @param   string  $id     The cache data id
     * @param   string  $group  The cache data group
     *
     * @return  boolean  True on success, false otherwise
     *
     * @since   11.1
     */
    
public function remove($id$group)
    {
        
$cache_id $this->_getCacheId($id$group);
        return 
apc_delete($cache_id);
    }

    
/**
     * Clean cache for a group given a mode.
     *
     * group mode    : cleans all cache in the group
     * notgroup mode : cleans all cache not in the group
     *
     * @param   string  $group  The cache data group
     * @param   string  $mode   The mode for cleaning cache [group|notgroup]
     *
     * @return  boolean  True on success, false otherwise
     *
     * @since   11.1
     */
    
public function clean($group$mode null)
    {
        
$allinfo apc_cache_info('user');
        
$keys $allinfo['cache_list'];
        
$secret $this->_hash;

        foreach (
$keys as $key)
        {

            if (
strpos($key['info'], $secret '-cache-' $group '-') === xor $mode != 'group')
            {
                
apc_delete($key['info']);
            }
        }
        return 
true;
    }

    
/**
     * Force garbage collect expired cache data as items are removed only on fetch!
     *
     * @return  boolean  True on success, false otherwise.
     *
     * @since   11.1
     */
    
public function gc()
    {
        
$allinfo apc_cache_info('user');
        
$keys $allinfo['cache_list'];
        
$secret $this->_hash;

        foreach (
$keys as $key)
        {
            if (
strpos($key['info'], $secret '-cache-'))
            {
                
apc_fetch($key['info']);
            }
        }
    }

    
/**
     * Test to see if the cache storage is available.
     *
     * @return  boolean  True on success, false otherwise.
     *
     * @since   11.1
     */
    
public static function test()
    {
        return 
extension_loaded('apc');
    }

    
/**
     * Lock cached item - override parent as this is more efficient
     *
     * @param   string   $id        The cache data id
     * @param   string   $group     The cache data group
     * @param   integer  $locktime  Cached item max lock time
     *
     * @return  object   Properties are lock and locklooped
     *
     * @since   11.1
     */
    
public function lock($id$group$locktime)
    {
        
$returning = new stdClass;
        
$returning->locklooped false;

        
$looptime $locktime 10;

        
$cache_id $this->_getCacheId($id$group) . '_lock';

        
$data_lock apc_add($cache_id1$locktime);

        if (
$data_lock === false)
        {

            
$lock_counter 0;

            
// loop until you find that the lock has been released.  that implies that data get from other thread has finished
            
while ($data_lock === false)
            {

                if (
$lock_counter $looptime)
                {
                    
$returning->locked false;
                    
$returning->locklooped true;
                    break;
                }

                
usleep(100);
                
$data_lock apc_add($cache_id1$locktime);
                
$lock_counter++;
            }

        }
        
$returning->locked $data_lock;

        return 
$returning;
    }

    
/**
     * Unlock cached item - override parent for cacheid compatibility with lock
     *
     * @param   string  $id     The cache data id
     * @param   string  $group  The cache data group
     *
     * @return  boolean  True on success, false otherwise.
     *
     * @since   11.1
     */
    
public function unlock($id$group null)
    {
        
$unlock false;

        
$cache_id $this->_getCacheId($id$group) . '_lock';

        
$unlock apc_delete($cache_id);
        return 
$unlock;
    }
}

mau_develop

  • Visitatore
Re:trsferimento:Call to undefined function apc_cache_info()
« Risposta #1 il: 13 Gen 2013, 18:57:52 »
controllato con filezilla di aver trasferito effettivamente tutto?... che non siano rimasti files in "canna"?

Offline surferbloggy

  • Esploratore
  • **
  • Post: 129
    • Mostra profilo
Re:trsferimento:Call to undefined function apc_cache_info()
« Risposta #2 il: 13 Gen 2013, 23:40:10 »
vediamo provo a ritrasferire tutti i file grazie ciao :)

Offline surferbloggy

  • Esploratore
  • **
  • Post: 129
    • Mostra profilo
Re:trsferimento:Call to undefined function apc_cache_info()
« Risposta #3 il: 14 Gen 2013, 17:33:10 »
ho iscaricato tutto il sito dal vecchio dominio e riuplodato tutto nel nuovo dominio ma niente mi da sempre


 Fatal error:  Call to undefined function apc_cache_info() in /home/hipkoder/public_html/miosito.com/libraries/joomla/cache/storage/apc.php on line 132

mi aiutate????

mau_develop

  • Visitatore
Re:trsferimento:Call to undefined function apc_cache_info()
« Risposta #4 il: 14 Gen 2013, 18:20:43 »
apri il configuration.php con un editor utf-8 (notepad++)

controlla l'esatto path di tmp e cache poi prova

se ancora non funziona sempre nello stesso file prova a cambiare l'handler della cache da db a file o viceversa.

se ancora non funziona il server non è adatto a joomla poichè ha versioni sw troppo datate dove quell'handler di php non è gestito... apc dovrebbe riguardare PECL. Da php info controlla la versione di queste sul nuovo e comparale col vecchio

Non far ritornare l'errore è banale, basta mettergli un condizionale if function exist prima di caricarla a lla riga indicata come errore..... il problema è che non funzionerà anche altro
« Ultima modifica: 14 Gen 2013, 18:26:46 da mau_develop »

Offline surferbloggy

  • Esploratore
  • **
  • Post: 129
    • Mostra profilo
Re:trsferimento:Call to undefined function apc_cache_info()
« Risposta #5 il: 14 Gen 2013, 21:06:53 »
grazie ti posso chiedere se puoi guardare il phpinfo() allegato per capire se ci posso lavorare con joomla su questo server?? ti ringrazio

[allegato eliminato da un amministratore essendo vecchio più di un anno]

mau_develop

  • Visitatore
Re:trsferimento:Call to undefined function apc_cache_info()
« Risposta #6 il: 14 Gen 2013, 22:12:52 »
prova a chiedere all'hoster il perchè di quell'errore, pecl è alla versione giusta ma non vedo il supporto apc... che in verità anch'io non ho ma mi sembra di ricordare che il problema fosse su vecchie versioni debian.

Credo che l'hoster sia l'unico a poterti dare risposte sensate o cmq a poter risolvere

 

Host

Torna su