2012-04-25 17 views
14

SOLUCIONADO: Mierda ... ¿por qué siempre se soluciona algo bien DESPUÉS de que finalmente haya decidido pedir ayuda !!CodeIgniter + línea de comando + Cron + Cpanel

Si alguien más está teniendo este problema, intente ejecutar desde/usr/local/bin/php en lugar de/usr/bin/php para obtener codeigniter para recoger los segmentos de URI.

PREGUNTA

que tienen la última instalación de CodeIgniter y todo parece estar funcionando bien a nivel local. Recientemente puse mis archivos en mi servidor y todo, excepto mi comando cron, está funcionando.

Cuando intento llamar a un controlador a través de cron (como se describe aquí: http://codeigniter.com/user_guide/general/cli.html), no obtengo el controlador. En cambio, la salida que obtengo es simplemente mi controlador predeterminado (página de inicio de sesión).

Esto funcionó perfectamente localmente y se llama a index.php porque recibo un correo electrónico de la salida de la página predeterminada.

Alguien hizo una pregunta similar aquí: CodeIgniter Cron Job on Shared Hosting? Respondedores sugirieron que era un problema con Cpanel (que es lo que estoy tratando de usar para configurar el trabajo cron), pero hablando con mi proveedor de alojamiento, dijeron que todo el comando se está ejecutando. Sin embargo, CI no está tomando el URI para el controlador. También verifiqué para asegurarme de que la base_url está configurada correctamente (lo cual se demuestra por el buen funcionamiento del archivo a través de una llamada a la URL).

¿Alguna idea? Simplemente no puedo entender por qué no está tomando el URI en formato de línea de comando:/usr/bin/php index.php método de la clase del controlador

Respuesta

17

Esta era la respuesta:

Uso /usr/local/bin/php en lugar de /usr/bin/php para obtener CodeIgniter de recoger en los segmentos de URI.

+0

gracias por lo papilla, ya estaba desesperada –

+0

impresionante - ¡esto es genial! Resolvió mi problema EXACTO - muchas gracias – Laurence

+0

¡Gracias! Para guardar un paso para aquellos que se encuentran con esto por primera vez, la sintaxis completa del comando sería algo así como:/usr/local/bin/php /home/mydomainusername/public_html/index.php controller method – mpemburn

0

Me alegra que lo hayas puesto en funcionamiento Mike. Me encontré con problemas similares y terminé usando el CI Cron Job Bootstrapper en un proyecto reciente que se ejecutaba en un host cPanel. Solo estoy publicando esto en caso de que ayude a alguien más.

+0

enlace roto por IC del trabajo Cron Bootstrapper – shakaran

1

Aquí es la primera solución que necesita para encontrar camino de la ruta phpinfo document_root

php5 /home/abc/public_html/index.php nombre_carpeta controller_name function_name

Es 100% trabajando

1

Para mí esto es lo que ha funcionado:

php54 -f /home/{cpanel_user}/public_html/index.php controller function 
+0

Si bien este código puede responder la pregunta, sería mejor incluir algún contexto, explicando cómo funciona y cuándo usarlo. Las respuestas de solo código no son útiles a largo plazo. – Bono

+0

Gracias amigo es su trabajo para mí. –

Cuestiones relacionadas