PHP Script Browser Me Chal Raha Hai Par Cron Job Me Nahi? Real Reason & Fix
Ye problem almost har PHP developer face karta hai. Browser me script smooth chalti hai, par jaise hi cron job se run karte ho — koi output nahi, koi error nahi. Iska reason PHP nahi, balki execution environment hota hai.
Agar aap production issues aur server-level problems samajhna chahte ho, to ye related guide bhi padhiye: PHP file upload works locally but fails on live server , jahan permissions aur php.ini differences detail me explain kiye gaye hain.
Sabse Pehle Ye Samjho: Browser vs Cron
Jab tum browser se PHP script run karte ho, wo Apache/Nginx ke through PHP-FPM par chalti hai. Lekin cron job PHP ko CLI mode me run karti hai. Dono ka environment bilkul alag hota hai.
Isi tarah jaise cron jobs me environment difference hota hai, waise hi file uploads me bhi localhost aur live server ka behavior alag hota hai — detail me samajhne ke liye dekhiye PHP file upload server vs localhost issue .
| Browser | Cron Job |
|---|---|
| Web server context | CLI context |
| $_SERVER available | Mostly empty |
| Relative paths work | Relative paths break |
Real Reason #1: Galat PHP Binary
Cron by default wahi PHP version use nahi karta jo browser karta hai. Hosting environments me multiple PHP versions installed hote hain.
which php
/usr/bin/php
Cron job me hamesha full PHP path specify karo:
* * * * * /usr/bin/php /home/user/project/script.php
Real Reason #2: Relative Paths (Sabse Common Mistake)
Browser me relative paths kaam kar jaate hain, par cron job ka working directory unpredictable hota hai.
require 'config.php';
Sahi tareeka:
require __DIR__ . '/config.php';
Real Reason #3: Error Dikhta Hi Nahi
Cron job errors screen par show nahi karta. Logging ke bina debugging almost impossible hoti hai.
* * * * * /usr/bin/php script.php >> cron.log 2>&1
Silent failures sirf cron jobs me hi nahi, balki file uploads me bhi common hote hain. Agar upload bina error fail ho raha hai to ye guide padhiye: PHP file upload fails without error on live server .
Production-Ready Checklist
- Absolute paths use karo
- Correct PHP CLI version verify karo
- Har cron job ka log rakho
- Browser-specific assumptions avoid karo
Final Verdict
PHP cron job fail hone ka matlab ye nahi ki tumhara code kharab hai. 90% cases me issue environment mismatch ka hota hai.
Isi tarah ke production issues agar file upload me face ho rahe ho, to ye complete troubleshooting guide zaroor dekho: PHP file upload not working on live server – real causes .
Browser forgiving hota hai, cron job nahi.