Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

236
Visualizações
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 Respostas
Responde à pergunta

0

Problema resuelto, he usado este comando de trabajo cron:

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

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda