-
August 8th, 2017, 00:21
#1
اجرای اسکریپت PHP توسط کرون جاب CPanel
سلام بر همه
همون طور که احتمالا همه میدونید اسکریپت PHP رو به دو شکل میشه توی CPanel در بخش Cronjob اجرا کرد.
کد:
/usr/bin/php -q /home/username/public_html/script.php
و حالت دوم:
کد:
/usr/bin/curl http://example.com/script.php
البته حالت دوم رو میشه با wget هم پیاده کرد.
تفاوتی که من بین اینا میبینم توی حالت اول فایل php به صورت داخلی اجرا میشه ولی در حالت دوم با درخواست HTTP اجرا میشه.
حالت سوال اینه که تفاوت های دیگر این دو حالت چیه؟
تشکر
-
-
August 8th, 2017 00:21
# ADS
-
August 8th, 2017, 02:02
#2
عضو انجمن
پاسخ : اجرای اسکریپت PHP توسط کرون جاب CPanel

نوشته اصلی توسط
mehran-b
سلام بر همه
همون طور که احتمالا همه میدونید اسکریپت PHP رو به دو شکل میشه توی CPanel در بخش Cronjob اجرا کرد.
کد:
/usr/bin/php -q /home/username/public_html/script.php
و حالت دوم:
کد:
/usr/bin/curl http://example.com/script.php
البته حالت دوم رو میشه با wget هم پیاده کرد.
تفاوتی که من بین اینا میبینم توی حالت اول فایل php به صورت داخلی اجرا میشه ولی در حالت دوم با درخواست HTTP اجرا میشه.
حالت سوال اینه که تفاوت های دیگر این دو حالت چیه؟
تشکر
سلام وقت بخیر
جواب خیلی سادست
با آدرس داخلی میشه امنیت کد رو فراهم کرد
فایل رو خارج از دایرکتوری اصلی میزارید دیگه لود خارجی نمیشه
کد PHP:
/usr/bin/php -q /home/Cronjob/script.php
-
تعداد تشکر ها از omid1991 به دلیل پست مفید
-
August 8th, 2017, 02:14
#3
پاسخ : اجرای اسکریپت PHP توسط کرون جاب CPanel

نوشته اصلی توسط
omid1991
سلام وقت بخیر
جواب خیلی سادست
با آدرس داخلی میشه امنیت کد رو فراهم کرد
فایل رو خارج از دایرکتوری اصلی میزارید دیگه لود خارجی نمیشه
کد PHP:
/usr/bin/php -q /home/Cronjob/script.php
به نکته خوبی اشاره کردید.
توی آدرس داخلی timeout داریم مانند حالت خارجی یا خیر؟
-
-
August 8th, 2017, 02:15
#4
عضو جدید
پاسخ : اجرای اسکریپت PHP توسط کرون جاب CPanel
این توضیح مورد نیاز شما به انگلیسی , جواب شما رو هایلایت کردم.
General cron job format is as follows:
[path to environment] [Path to script] [Script parameters]
For example, if you want to run a
PHP script located in the public_html directory, the correct cron command will be:
/usr/local/bin/php /home/cPaneluser/public_html/yourscript.php
or if you want to use a relative path (different commands are divided by “;”):
cd /home/YourcPuser/public_html/; /usr/local/bin/php yourscript.php
For
Python and
Perl scripts, there is no need to use a full path to the environment, the environment interpreter directive will be enough on shared servers.
python /home/YourcPuser/public_html/yourscript.py
perl /home/YourcPuser/public_html/yourscript.pl
Alternatively, you can just use
curl request as the cron job command for the same purpose:
curl “http://yourdomain.com/script.php?arg...ument2=arg2”
curl “http://yourdomain.com/script.py”
curl “http://yourdomain.com/script.pl”
However, unlike the first method, curl-based cron jobs will work only if URLs specified in curl requests are resolving, e.g., DNS records for the domain are correct and running.
-
تعداد تشکر ها از TheHost به دلیل پست مفید
-
August 8th, 2017, 03:20
#5
عضو انجمن
پاسخ : اجرای اسکریپت PHP توسط کرون جاب CPanel

نوشته اصلی توسط
mehran-b
به نکته خوبی اشاره کردید.
توی آدرس داخلی timeout داریم مانند حالت خارجی یا خیر؟
تایم اوتی که curl داره با تایم اوت سرور فرق داره تو حالت داخلی بستگی به کانفیگ سرورتون داره بهترین حالت کرون جاب حالت داخلی هست
یخورده کار کنید خودتون به نتایج جالبی میرسید
-
تعداد تشکر ها از omid1991 به دلیل پست مفید
-
August 9th, 2017, 12:51
#6
پاسخ : اجرای اسکریپت PHP توسط کرون جاب CPanel
تشکر بابت راهنمایی هایی که انجام دادید.
فقط یه سوال فنی برام پیش اومد وقتی با curl فایل php رو اجرا میکنی curl دقیقا مثل یه مرورگر صبر میکنه تا اجرای فایل تموم بشه یا نه فقط بازش میکنه؟
-
-
August 9th, 2017, 13:18
#7
عضو انجمن
پاسخ : اجرای اسکریپت PHP توسط کرون جاب CPanel

نوشته اصلی توسط
mehran-b
تشکر بابت راهنمایی هایی که انجام دادید.
فقط یه سوال فنی برام پیش اومد وقتی با curl فایل php رو اجرا میکنی curl دقیقا مثل یه مرورگر صبر میکنه تا اجرای فایل تموم بشه یا نه فقط بازش میکنه؟
سلام وقت بخیر
بله باید کامل اجرا بشه بستگی به کدتون داره
ببنید تقریبا همه درخواست های http, https با curl انجام میشه
مثال همین درگاه های بانکی همشون با curl کار میکنند
پ.ن : حالا یکی پیدا میشه میگه این چه حرفیه پس soap چیه soap هم یه کلاس هست مثل خیلی از کلاس هایی که خودتون مینویسید مثلا این کلاس
کد:
class Oa
{
public function oCurl($url='', $data=[], $timeout=20, $header=false)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
if(!empty($data))
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
if($header)
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}
}
ویرایش توسط omid1991 : August 9th, 2017 در ساعت 13:20
-
تعداد تشکر ها از omid1991 به دلیل پست مفید
-
August 9th, 2017, 13:52
#8
عضو جدید
پاسخ : اجرای اسکریپت PHP توسط کرون جاب CPanel
کرون جاب با curl و wget بدون دامنه هم اجرا نمیشن ولی php میشه
امکانش هست با دستور php فایل رو بیرون از دایرکتوری پابیک قرار داد.
و...
-