Adama göre:
Cron arka plan programı HOME dizininizden bir alt kabuk başlatır. Oturum açmadığınızda çalışacak bir komut zamanlarsanız ve .profile dosyanızdaki komutların çalışmasını istiyorsanız, komutun .profile dosyanızı açıkça okuması gerekir.
Cron arka plan programı, her kabuk için HOME, LOGNAME, SHELL (= / usr / bin / sh)
ve PATH (= / usr / bin) tanımlayan varsayılan bir ortam sağlar .
Yani cron daemon php nerede olduğunu bilmiyor ve tam php yolunu elle belirtmelisiniz, örneğin (gerçek PHP yolunuzu bilmiyorum):
#!/bin/sh
/usr/local/bin/php /home/v/file.php
sh /root/x/some.sh
Başka bir yol da, / etc / profilini (veya .profile / .bashrc) kaynaklamaktır.
* * * * * . /home/v/.bashrc ; sh /home/v/test.sh
Bu, .bashrc'niz ihtiyacınız olan ortam değişkenlerini ayarladıysa yararlıdır (örn. PATH)
DÜZENLE
İlginç bir okuma " Newbie: Cron'a giriş ", makaleyi başlıktan küçümsemeyin (herkes için bir okuma), aslında iyi yazılmış ve sorunuza mükemmel cevap verin:
...
PATH, cron için arama yolunda olacak dizinleri içerir, örneğin / usr / cog / bin dizininde 'foo' programınız varsa, / usr / cog / bin dizinine her aradığınızda 'foo' yapmak için tam yolu kullanmanıza engel olacağı için.
...