PDA

View Full Version : سوال: مشکل با cronjob



Hello,World!!
جمعه 10 خرداد 1392, 00:52 صبح
سلام دوستان
من یه اسکریپت نوشتم که هر شب فایل back up دیتا بیس رو برای یه ایمیل می فرسته. وقتی من خودم آدرس این اسکریپت رو می نویسم و اجراش می کنم اسکریپت بدون هیچ مشکلی اجرا می شه و فایل فرستاده می شه اما وقتی توسط cronjobs این اسکریپت اجرا می شه این خطا رو میده و فایل پشتیبان همراه ایمیل فرستاده نمی شه


PHP Warning: PHP Startup: SourceGuardian: Unable to initialize module
Module compiled with module API=20060613
PHP compiled with module API=20090626
These options need to match
in Unknown on line 0

توی نت جستجو کردم می گن این دلیل اینه که به درستی php نصب نشده. مثل اینکه باید آدرس Extention ها رو دوباره بدیم اما خوب من که به سرور دسترسی ندارم. آیا باید با شرکت hosting تماس بگیرم یا کلاً در اشتباهم؟؟ ممنون میشم دوستان راهنمایی کنید

Unique
جمعه 10 خرداد 1392, 01:44 صبح
راستش من دقیقا این مشکل را نداشتم ولی کاربر و مجوز ها و شرایطی که cronjob فایل شما را صدا میزنه با شرایط صدا زدن مستقیمش فرق داره ! یعنی ممکنه شما دستوری را توی لینوکس (حالا مثلا صدا زدن یک فایل php) راحت بزنین و انجام بشه ولی توی cronjob به مشکل بخوره ! من خیلی این موضوع را دیدم.

ولی مشکل شما از ماژول SourceGuardian هستش ! برای کد کردن سورس ازش استفاده کردین ؟ روی هاست نصبه یا خودتون استفاده کردین ؟
خلاصه باید با هاست هماهنگ کنین ولی بعید میدونم انقدر باحال باشن پیگری کنند!

Hello,World!!
جمعه 10 خرداد 1392, 11:40 صبح
ممنون از پاسختون
من اصلا از این ماژول استفاده نکردم و روی هاست نصبه. من دو تا اسکریپت دارم که اولی backup می گیره و دومی این backup رو ایمیل میکنه. هر دو این اسکریپت ها موقع اجرا این خطا رو میدن. البته warning هست. من مجوز فایل backup رو هم 777 گذاشتم اما درست نمیشه. اگه راه حلی دارید ممنون میشم.

MMSHFE
جمعه 10 خرداد 1392, 11:49 صبح
با پشتیبانی تماس بگیرین و بگین یا SourceGuardian رو غیرفعال کنن یا اینکه نسخه جدیدش رو نصب کنن. PHP نصب شده روی سرور از نسخه جدیدتری داره استفاده میکنه و برای همین SourceGuardian نمیتونه کار کنه. بعلاوه برای اجرای اسکریپت با Cron Jobs باید مسیر بصورت مطلق داده بشه. یکبار توی اسکریپت خودتون با استفاده از تابع getcwd مسیر مطلق اسکریپت رو بدست بیارین و مطابق با اون، مسیر فایلی که میخواین با Cron Jobs اجرا بشه رو اصلاح کنید.

Hello,World!!
جمعه 10 خرداد 1392, 12:09 عصر
ممنون جناب آقای شهرکی
مسیر ها رو درست دادم. سوال من اینه که آیا این که فایل backup به همراه میل ارسال نمیشه به دلیل SourceGuardian هست؟ آخه من اصلاً از این ماژول استفاده نکردم. یا برای backup گرفتن هم همین موضوع هست. من از تابع backup شما که توی سایت گداشتید استفاده کردم.

Hello,World!!
جمعه 10 خرداد 1392, 12:10 عصر
شاید cronjob داره از این ماژول استفاده می کنه درسته؟ آخه وقتی خودم اسکریت ها رو اجرا می کنم درستن و این خطا رو نمیده

MMSHFE
جمعه 10 خرداد 1392, 12:14 عصر
احتمالش هست چون SourceGuardian داره توی یک سطح بالاتر از کدکردن اسکریپتهای PHP اجرا میشه که احتمالاً بخاطر عدم تنظیمات صحیح سرور هست.