Jump to content

Frontcontroller.php cronjob error


Recommended Posts

Estoy intentando ejecutar una tarea cron pero sale este error: 

PHP Notice: Undefined index: REQUEST_METHOD in /home/u483908816/public_html/classes/controller/FrontController.php on line 739

Por favor, si alguien sabe cómo solucionarlo, ayudarme.

Muchas gracias

Edited by selectshop.at
removed mass capital letters on title (see edit history)
Link to comment
Share on other sites

¡Buenas!

 

Mirando el FrontController de 1.6 y 1.7 debo suponer que estás usando 1.7, ya que en esa línea tiene la siguiente función:

    protected function sslRedirection()
    {
        // If we call a SSL controller without SSL or a non SSL controller with SSL, we redirect with the right protocol
        if (Configuration::get('PS_SSL_ENABLED') && $_SERVER['REQUEST_METHOD'] != 'POST' && $this->ssl != Tools::usingSecureMode()) {
            $this->context->cookie->disallowWriting();
            header('HTTP/1.1 301 Moved Permanently');
            header('Cache-Control: no-cache');
            if ($this->ssl) {
                header('Location: '.Tools::getShopDomainSsl(true).$_SERVER['REQUEST_URI']);
            } else {
                header('Location: '.Tools::getShopDomain(true).$_SERVER['REQUEST_URI']);
            }
            exit();
        }
    }

Lo que te está fallando en concreto es esto: $_SERVER['REQUEST_METHOD'], es decir que no existe dicha posición del array. ¿A qué se debe esto normalmente? Con casi total seguridad estás ejecutando ese cron desde php-cli (terminal) y desde ese contexto no existe la variable, así que la solución pasa por crear un cron que llame a la URL con los parámetros necesarios. Para ello prueba con un cron que, por ejemplo, haga uso de wget tipo:

0 0 * * * /usr/bin/wget --spider --timeout=600 "https://tu_url" >/dev/null 2>&1

Un saludo!

Link to comment
Share on other sites

Hola ElChollo,

 

¿Desde dónde estás creando el cronjob? El código que yo te di es para hacerlo directamente en el fichero de cron a través de un acceso a terminal. Si se trata de un panel tipo Plesk o cPanel deberás adaptarte al formato que éstos usen en su interfaz, por lo tanto no es válida la línea que te di. ¿Podrías aclararme esta cuestión?

 

Un saludo

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...