Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

229
Views
enviar datos con archivos adjuntos no funciona Cronjob

No sé mucho sobre el trabajo cron, pero tengo un archivo php que envía datos con un archivo adjunto cuando lo ejecuto usando el navegador, funciona bien y se envía el archivo adjunto, pero si uso el trabajo cron para ejecutarlo, nunca va con el archivo adjunto. aquí está la línea de comando del trabajo cron:

 /opt/php54/bin/php /home/username/public_html/path/to/myscript.php

y aquí está el lugar del error en el archivo php, ya que el trabajo cron me envió un correo electrónico con "¡De alguna manera el archivo: hhshd.jpg no existe!" , sin embargo, los datos adjuntos se envían correctamente cuando uso el navegador.

 if (!file_exists("uploads/" . $fileName)) { die("Some how file :$fileName is not exist!"); }

Nota: estoy usando el cronjob de Hostgator.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Problema resuelto, he usado este comando de trabajo cron:

 curl http://yoursite/path/to/publish.php
over 4 years ago · Santiago Trujillo Report

0

Una posible razón es que cuando ejecuta el script a través del navegador, el usuario de Apache puede crear el archivo adjunto y enviarlo.

Pero cuando cronjob no puede crear un archivo adjunto debido a un problema de permiso.

Puede intentar usar 'sudo' en su cronjob o intentar cambiar el permiso del directorio donde está creando el archivo adjunto.

over 4 years ago · Santiago Trujillo Report

0

Lo más probable es que sea un problema de propiedad y permisos. Lo que tiene que poner en su configuración cron depende de dónde lo haya puesto y de qué usuario se ejecuta su servidor web. Si desea que se ejecute a las 5 a. m. todos los días, está en /etc/crontab y www-data es el usuario de su servidor web, necesitaría una entrada como esta:

 0 5 * * * www-data /opt/php54/bin/php /home/username/public_html/path/to/myscript.php

Si está en el propio archivo crontab del usuario del servidor web, omitirá el campo de nombre de usuario. Lo editaría usando crontab -u www-data -e y agregaría una línea como esta:

 0 5 * * * /opt/php54/bin/php /home/username/public_html/path/to/myscript.php

Otro problema puede ser que el directorio de trabajo actual puede ser diferente, por lo que es posible que deba configurar el comando para incluir un cd en el directorio en el que se encuentra su script primero, así:

 cd /home/username/public_html/path/to && /opt/php54/bin/php myscript.php

Si desea recibir un resultado de error de un trabajo cron, configure una variable de entorno MAILTO agregando una línea como esta al archivo cron antes de ejecutar el comando:

 MAILTO=user@example.com
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!