ممکن است در هاست یا سرور شما نیز دو یا چند نسخه PHP همزمان فعال باشد
در این حالت معمولا مسیرهای عادی که برای Cron job قرار داده شده از نسخه پیشفرض PHP سرور استفاده می کند و این ممکن است عملیات را با خطاهایی همراه سازد.
نمونه از حالت ساده:
حال فرض کنید نسخه های 7 و 5 از PHP بر روی سرور شما نصب هستند و برای هاست شما نیز نسخه دوم انتخاب شده است (یعنی PHP 5) و شما از
یک سیستم کد شده با ionCube برای نسخه 5 پی اچ پی نظیر WHMCS استفاده می کنید، در این حالت سایت شما به خوبی کار می کند ولی زمانی که
کرون جاب اجرا می شود از نسخه 7 که پیشفرض آن سرور است استفاده خواهد کرد و احتمالا ایمیل اجرا نشدن کران جاب را مشابه نمونه زیر دریافت خواهید کرد:
جهت رفع مشکل کافی است مسیر اختصاصی نسخه PHP مورد نظر خود را در ابتدای دستور کرون جاب مشخص کنید. نمونه:
سفارش کد کردن فایل با ionCube
در این حالت معمولا مسیرهای عادی که برای Cron job قرار داده شده از نسخه پیشفرض PHP سرور استفاده می کند و این ممکن است عملیات را با خطاهایی همراه سازد.
نمونه از حالت ساده:
کد:
/usr/local/bin/php -q /home/crons/cron.php
یا
php -q /home/crons/cron.php
حال فرض کنید نسخه های 7 و 5 از PHP بر روی سرور شما نصب هستند و برای هاست شما نیز نسخه دوم انتخاب شده است (یعنی PHP 5) و شما از
یک سیستم کد شده با ionCube برای نسخه 5 پی اچ پی نظیر WHMCS استفاده می کنید، در این حالت سایت شما به خوبی کار می کند ولی زمانی که
کرون جاب اجرا می شود از نسخه 7 که پیشفرض آن سرور است استفاده خواهد کرد و احتمالا ایمیل اجرا نشدن کران جاب را مشابه نمونه زیر دریافت خواهید کرد:
کد:
PHP Fatal error: The file /home/<user>/domains/<domain>/crons/cron.php was encoded by the ionCube Encoder for PHP 5.6 and cannot run under PHP 7.1 or later.
Please ask the provider of the script to provide a version encoded with the ionCube Encoder for PHP 7.1. in Unknown on line 0
جهت رفع مشکل کافی است مسیر اختصاصی نسخه PHP مورد نظر خود را در ابتدای دستور کرون جاب مشخص کنید. نمونه:
کد:
/usr/local/php56/bin/php -q /home/crons/cron.php
یا
/usr/local/php70/bin/php -q /home/crons/cron.php
یا
/usr/local/php72/bin/php -q /home/crons/cron.php
سفارش کد کردن فایل با ionCube