es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Llamar archivo php en cpanel

Estoy tratando de llamar a un archivo de ejemplo de PHP llamado “example.php” que devuelve “Hola mundo” para probar algunas funcionalidades en mi aplicación.

Cuando llamo a la URL:

"http://www.example.com:2083/home/public_html/example.php"

el servidor redirige a la página de acceso de cPanel. Por lo tanto, después de consultar algunos recursos en Google, he generado un TOKEN API a través del gestor de tokens de cPanel API y he intentado llamar a este archivo usando curl de la siguiente manera:

"curl -H "Authorization: cpanel username:API_TOKEN" "https://www.example.it:2083/execute/home/public_html/example.php""

pero siempre obtengo este mensaje:

{"metadata":{},"data":null,"errors":["Nombre de función ilegal: public_html/example.php"],"warnings":null,"messages":null,"status":0}

¿Es esta la forma correcta de llamar a un archivo PHP alojado en cPanel?
Gracias por cualquier ayuda 🙂

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    No, la forma en la que estás intentando llamar al archivo PHP alojado en cPanel no es correcta.

    El mensaje de error sugiere que la función public_html/example.php no se reconoce. Esto podría ser porque estás utilizando la función incorrecta de la API de cPanel.

    En lugar de llamar directamente al archivo PHP, debes utilizar la función cpanel_api2 para ejecutar el archivo. La función cpanel_api2 es una función central en la API de cPanel que te permite ejecutar funciones de la API de cPanel 2 desde tu código PHP.

    Aquí tienes un fragmento de código PHP que demuestra cómo utilizar la función cpanel_api2 para ejecutar el archivo example.php:

    <?php
    require_once '/usr/local/cpanel/php/cpanel.php'; // Incluir la biblioteca de la API de cPanel
    
    $cpanel = new CPANEL(); // Instanciar el objeto CPANEL
    
    $result = $cpanel->api2(
        'Fileman',                    // Módulo de cPanel.
        'fileop',                     // Función de cPanel.
        array(
            'op' => 'exec',
            'sourcefiles' => '/home/public_html/example.php', // Ruta al archivo PHP a ejecutar.
            'args' => '',                // Argumentos para pasar al script (si hay alguno).
        )
    );
    
    echo $result; // Mostrar el resultado.
    

    En el código anterior, primero incluimos la biblioteca de la API de cPanel y luego instanciamos el objeto CPANEL. Luego utilizamos la función api2 para ejecutar la función fileop en el módulo Fileman. Pasamos el parámetro sourcefiles para especificar la ruta al archivo PHP a ejecutar y el parámetro args para pasar cualquier argumento al archivo (si hay alguno).

    Luego mostramos el resultado devuelto por la función api2.

    ¡Espero que esto te ayude!

Comments are closed.