Foros del Web » Programando para Internet » PHP »

Cambiar ajax.php por jSON

Estas en el tema de Cambiar ajax.php por jSON en el foro de PHP en Foros del Web. Tengo problemas con un archivo ajax.php, que me sube el uso del cpu en mi hosting. quiero saber cual es el problema, en mi sitio ...
  #1 (permalink)  
Antiguo 10/09/2012, 16:40
 
Fecha de Ingreso: septiembre-2012
Mensajes: 48
Antigüedad: 11 años, 6 meses
Puntos: 0
Pregunta Cambiar ajax.php por jSON

Tengo problemas con un archivo ajax.php, que me sube el uso del cpu en mi hosting. quiero saber cual es el problema, en mi sitio entran 250 personas online y yah se llena el uso del cpu a 100% Los dueños del hosting, dicen que es ese archivo que esta dando problemas y podrian cerrarme el sitio. podian ayudarme areglar eso? me dicen que cambie a jSON. o si tienen otra forma para areglar eso se lo agradeceria mucho. dejo el code aca.
Código PHP:
<?php
/**
 * [PHPFOX_HEADER]
 * 
 * @copyright        [PHPFOX_COPYRIGHT]
 * @author            Raymond Benc
 * @package         Phpfox
 * @version         $Id: ajax.php 3118 2011-09-16 10:51:04Z Raymond_Benc $
 */
ob_start();

/**
 * Key to include phpFox
 *
 */
define('PHPFOX'true);

/**
 * Directory Seperator
 *
 */
define('PHPFOX_DS'DIRECTORY_SEPARATOR);

/**
 * phpFox Root Directory
 *
 */
define('PHPFOX_DIR'dirname(dirname(__FILE__)) . PHPFOX_DS);

if (isset(
$_GET['ajax_page_display']))
{
    
define('PHPFOX_IS_AJAX_PAGE'true);
}
else 
{
    
define('PHPFOX_IS_AJAX'true);
}

// Require phpFox Init
require(PHPFOX_DIR 'include' PHPFOX_DS 'init.inc.php');

if (!
Phpfox::getService('ban')->check('ip'Phpfox::getIp()))
{
    exit();
}

if (isset(
$_GET['ajax_page_display']))
{    
    
$oCache Phpfox::getLib('cache');
    
$oAjax Phpfox::getLib('ajax');

    
Phpfox::run();

    
$aHeaderFiles Phpfox::getLib('template')->getHeader(true);    
    
    if (
Phpfox::getLib('template')->sDisplayLayout)
    {            
        
Phpfox::getLib('template')->getLayout(Phpfox::getLib('template')->sDisplayLayout);
    }    
    
    
$sJs '';
    
$sCustomCss '';
    
$sLoadFiles '';        
    
$sEchoData '';
    foreach (
$aHeaderFiles as $sHeaderFile)
    {
        if (
preg_match('/js_user_profile_css/i'$sHeaderFile))
        {
            
$sJs .= 'profilecss: \'' $sHeaderFile '\', ';
            
            continue;
        }
        
        if (
preg_match('/<style(.*)>(.*)<\/style>/i'$sHeaderFile))
        {
            
$sCustomCss .= '\'' strip_tags($sHeaderFile) . '\',';
            
            continue;
        }
        
        
$sHeaderFile strip_tags($sHeaderFile);
        
        
$sNew preg_replace('/\s+/','',$sHeaderFile);
        if (empty(
$sNew))
        {
            continue;
        }
            
        
$sLoadFiles .= '\'' str_replace("'""\'"$sHeaderFile) . '\',';
    }        
    
$sLoadFiles rtrim($sLoadFiles',');
    
$sCustomCss rtrim($sCustomCss',');

    
$sContent Phpfox::getLib('ajax')->getContent();
    
    
$aPhrases Phpfox::getLib('template')->getPhrases();    
    
    
$sJs .= 'content: \'' $sContent '\', ';
    
$sJs .= 'files: [' $sLoadFiles '], ';
    if (
count($aPhrases))
    {
        
$sJs .= 'phrases:  {';
        foreach (
$aPhrases as $sKey => $sValue)
        {
            
$sJs .= '\'' $sKey '\': \'' str_replace("'""\'"$sValue) . '\',';    
        }
        
$sJs rtrim($sJs',');
        
$sJs .= '}, ';
    }
    
$sJs .= 'title: \'' str_replace("'""\'"html_entity_decode(Phpfox::getLib('template')->getTitle(), null'UTF-8')) . '\'';
    
    if (!empty(
$sCustomCss))
    {
        
$sJs .= ', customcss: [' $sCustomCss ']';
    }
    
    
/*
    $aAds = array();
    for ($i = 1; $i <= 11; $i++)
    {
        $aAds[] = Phpfox::getService('ad')->getForBlock($i);
    }
    
    if (count($aAds))
    {
        $sJs .= ', ads: {';
        foreach ($aAds as $aAd)
        {
            if (!isset($aAd['ad_id']))
            {
                continue;
            }
            $sJs .= '\'' . $aAd['location'] . '\': \'' . str_replace("'", "\'", $aAd['html_code']) . '\',';
        }
        $sJs = rtrim($sJs, ',');
        $sJs .= '}';
    }
     * 
     */
    
    
if (isset($_GET['js_mobile_version']) && $_GET['js_mobile_version'])
    {
        if (isset(
$_GET['req1']) && empty($_GET['req2']))
        {
            
Phpfox::getLib('ajax')->call('$(\'#mobile_search\').show();');
        }
        else
        {
            
Phpfox::getLib('ajax')->call('$(\'#mobile_search\').hide();');
        }
    }
    
    
Phpfox::getLib('ajax')->call('$Core.page({' $sJs '});');
    
    if (
PHPFOX_DEBUG)
    {
        
Phpfox::getLib('ajax')->call('$(\'#js_main_debug_holder\').html(\'' Phpfox_Debug::getDetails() . '\');');
    }
    
    echo 
Phpfox::getLib('ajax')->getData();    
}
else 
{
    
$oAjax Phpfox::getLib('ajax');
    
$oAjax->process();
    echo 
$oAjax->getData();
    if (!isset(
$_REQUEST['height']) && !isset($_REQUEST['width']) && !isset($_REQUEST['no_page_update']))
    {
        
// echo '$Core.updatePageHistory();';    
    
}
}

ob_end_flush();
?>
  #2 (permalink)  
Antiguo 11/09/2012, 06:04
 
Fecha de Ingreso: septiembre-2012
Mensajes: 48
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Cambiar ajax.php por jSON

Respondame Por favor.
  #3 (permalink)  
Antiguo 11/09/2012, 07:17
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Cambiar ajax.php por jSON

Cita:
Iniciado por latempe Ver Mensaje
Respondame Por favor.
Consulte las políticas del foro, aquí somos una Comunidad de usuarios que se apoya mutuamente, tiene que ser paciente no todos saben la solución a todos los problemas.

volviendo al tema:

¿cambiar el php por JSON?: discúlpame pero esa aberración no la pudo haber dicho un Informático profesional, PHP es un lenguaje del Servidor, JSON es una notación para definir objetos/datos para javascript, nada que ver el uno con el otro.

lo primero que nos tienes que indicar es que hace ajax.php, de reojo me parece una especie de chat, ¿cierto?, quizás el problema puede ser el ancho de banda que tengas con un polling de ajax tradicional, por lo que tendrías que implementar longpolling, pero creo que eso no afectaría sino el ancho de banda y no disminuiría el consumo de recursos del servidor.

Si no tienes forma de solucionarlo con PHP, la opción es migrar al chat a otra plataforma que use COMET, no AJAX ni ajax longpolling, entre ellas APE, o usar HTML5 WebSockets (COMET) pero para ello necesitas de un servidor multi-thread, en ese caso Socket.io con Node.js, entre otras soluciones, no JSON como te han dicho, francamente que falta de profesionalismo, además de que el server debe de implementarlo, me imagino, porque por ello te lo sugieren.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #4 (permalink)  
Antiguo 11/09/2012, 13:21
 
Fecha de Ingreso: septiembre-2012
Mensajes: 48
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Cambiar ajax.php por jSON

Bueno.. Gracias por responder... yo quisiera que alguien me ayudara areglar ese codigo para que no subiera tanto el uso del cpu en el hosting. sorry por lo de pedir que me responda. Solo pido eso. Pues como dices tienes razon y olvidemos eso del JSON. Pero me gustaria que alguien que sepa mucho de php me ayudara con ese codigo para areglar el problema de subir el uso de cpu en el hosting.
  #5 (permalink)  
Antiguo 11/09/2012, 14:45
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Cambiar ajax.php por jSON

entonces ¿que hace en el foro de JS?, reporte el tema para que lo muevan al foro de PHP, pero como ya le dije, puede depender de la plataforma, personalmente PHP me parece genial, pero tiene sus limitaciones
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 12/09/2012, 07:48
 
Fecha de Ingreso: septiembre-2012
Mensajes: 48
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Cambiar ajax.php por jSON

ok, solo necesitare la ayuda de un programador php, que me ayude a resolver ese codigo, para que el uso de CPU no suba tanto. eso es lo unico que necesito en ese codigo.

Etiquetas: ajax.php, json
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:32.