بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
تغییر دستورات Curl به php

سلام؛ من موقع اجرای کران جاب های سایتم(3 کران جاب) به مشکل برخوردم. چون هاستم از این نوع کران جاب(curl) پشتیبانی نمیکنه. و به من گفتن:
امکان استفاده از دستور c-url و w-get در دستور کرون وجود ندارد، می بایست با استفاده از دستور php کرون خود را اجرا نمایید.
<?php
require_once(dirname(__FILE__).'/../funkcje.inc.php');
require_once(dirname(__FILE__).'/../../../config.php');
$link = mysql_connect(XEON_DB_HOST, XEON_DB_USER, XEON_DB_PASS) or die(_OP_ERROR('IPN_PP: DB/CONNECT; FATAL ERROR!', __FILE__, __LINE__));
mysql_select_db(XEON_DB_DBNA);
function _OP_CRON_00_00_ERROR($error, $file, $line){
$body = "TIME: ".date('Y/m/d H:i:s');
$body .= "\nFILE: ".$file;
$body .= "\nLINE: ".$line;
$body .= "\nERROR: ".$error;
mail(config('email_support'), config('site_name').' ERROR: CRON RENTED', $body);
}
function _OP_AVG($time, $clicks){
$avg['time_1'] = mktime(0, 0, 0, date('m', time()), date('d', time()), date('Y', time()));
$avg['time_2'] = mktime(0, 0, 0, date('m', $time), date('d', $time), date('Y', $time));
$avg['time_3'] = $avg['time_1'] - $avg['time_2'];
$avg['days'] = floor( $avg['time_3'] / 86400 );
if($avg['days'] == 0 || $clicks == 0){
return number_format( 0 , 3 );
} else {
return number_format( ($clicks / $avg['days']), 3 );
}
}
ini_set("max_execution_time", -1);
$timeer = time()- 129600;
$Wait_SignUp = mysql_query("SELECT * FROM `xeon_ptsu_log` WHERE `approved` = 0 AND `date` <= '$timeer' ;") or _OP_CRON_00_00_ERROR(mysql_error(), __FILE__, __LINE__);
while($sings = mysql_fetch_assoc($Wait_SignUp)){
$ptsu_id = $sings['ptsu_id'];
$user = $sings['username'];
$id = $sings['id'];
$TIME = time(); // TIME
$ptsu_SQL = mysql_query("SELECT * FROM `xeon_ptsu` WHERE `id` = '$ptsu_id';");
$PTSU = mysql_fetch_assoc($ptsu_SQL);
$PTSU['cat']==0 ? $price=config('signup_st') : $price=config('signup_mini');
$title = $PTSU['title'];
mysql_query("UPDATE `xeon_users` SET `b_main` = `b_main` + '$price' WHERE `x_username` = '$user'");
mysql_query("UPDATE `xeon_ptsu_log` SET `approved` = 1 WHERE `id` = '{$id}'");
mysql_query("INSERT INTO `xeon_users_history` (`id`,`user`,`date`,`type`,`value`) VALUES (NULL,'$user','$TIME','22','$title');");
}
mysql_query("DELETE FROM `xeon_clicks` WHERE `day` != '".date("d")."';") or _OP_CRON_00_00_ERROR(mysql_error(), __FILE__, __LINE__);
mysql_query("UPDATE `xeon_users` SET `config_update_stats` = '1', `config_pm_limit` = '0';") or _OP_CRON_00_00_ERROR(mysql_error(), __FILE__, __LINE__);
mysql_query("UPDATE `xeon_users` SET `r_r_rent`='0' WHERE `x_username_2` NOT IN ( SELECT `user` FROM `xeon_users_rented` )" ) or _OP_CRON_00_00_ERROR(mysql_error(), __FILE__, __LINE__);
$QUERY_AVG_DIRECT_SQL = mysql_query("SELECT * FROM `xeon_users` WHERE `s_clicks` > 0;") or _OP_CRON_00_00_ERROR(mysql_error(), __FILE__, __LINE__);
while($d = mysql_fetch_assoc($QUERY_AVG_DIRECT_SQL)){
mysql_query("UPDATE `xeon_users` SET `s_avg` = '"._OP_AVG($d['x_register'], $d['s_clicks'])."' WHERE `xeon_users`.`id` = {$d['id']} LIMIT 1;") or _OP_CRON_00_00_ERROR(mysql_error(), __FILE__, __LINE__);
mysql_query("UPDATE `xeon_users` SET `s_clicks_referrals_direct_avg` = '"._OP_AVG($d['x_register'], $d['s_clicks_referrals_direct'])."' WHERE `xeon_users`.`id` = {$d['id']} LIMIT 1;") or _OP_CRON_00_00_ERROR(mysql_error(), __FILE__, __LINE__);
}
$QUERY_AVG_RENTED_SQL = mysql_query("SELECT * FROM `xeon_users_rented` WHERE `clicks` > 0;") or _OP_CRON_00_00_ERROR(mysql_error(), __FILE__, __LINE__);
while($r = mysql_fetch_assoc($QUERY_AVG_RENTED_SQL)){
mysql_query("UPDATE `xeon_users_rented` SET `avg` = '"._OP_AVG($r['since'], $r['clicks'])."' WHERE `xeon_users_rented`.`id` = {$r['id']} LIMIT 1;") or _OP_CRON_00_00_ERROR(mysql_error(), __FILE__, __LINE__);
}
$TABLES_OPTIMIZE = mysql_query("SHOW TABLES") or _OP_CRON_00_00_ERROR(mysql_error(), __FILE__, __LINE__);
while($table = mysql_fetch_assoc($TABLES_OPTIMIZE)){
foreach($table as $db => $tablename){
mysql_query("OPTIMIZE TABLE `$tablename`;") or _OP_CRON_00_00_ERROR(mysql_error(), __FILE__, __LINE__);
}
}
mysql_close($link);
echo 'CRON (00:00): OK';
?>
<?php
ini_set("max_execution_time", -1);
require_once dirname(__FILE__) . '/../../../config.php';
require_once dirname(__FILE__) . '/../funkcje.inc.php';
require_once dirname(__FILE__) . '/../class.referrals.php';
$link = mysql_connect(XEON_DB_HOST, XEON_DB_USER, XEON_DB_PASS) or die( _OP_ERROR(mysql_error(), __FILE__, __LINE__ ) );
mysql_select_db(XEON_DB_DBNA) or die( _OP_ERROR(mysql_error(), __FILE__, __LINE__ ) );
$QUERY_EXPIRES_TIME = time();
$QUERY_EXPIRES_SQL = mysql_query("SELECT * FROM `xeon_users_rented` WHERE `expire` < '$QUERY_EXPIRES_TIME';") or die( _OP_ERROR(mysql_error(), __FILE__, __LINE__ ) );
$QUERY_EXPIRES_COUNTER = 0;
while($r = mysql_fetch_assoc($QUERY_EXPIRES_SQL)){
if($r['ur_lock'] == 1){
$_UPLINE_SQL = mysql_query("SELECT * FROM `xeon_users` WHERE `x_username` = '".$r['user_by']."' LIMIT 1;") or _OP_ERROR(mysql_error(), __FILE__, __LINE__);
$_UPLINE_DAT = mysql_fetch_assoc($_UPLINE_SQL);
$_UPLINE_DAT_ACCOUNT = explode(":", $_UPLINE_DAT['e_account']);
$_UPLINE_DAT_PRICES = _OP_PRICE_LIST($_UPLINE_DAT_ACCOUNT[0], $_UPLINE_DAT['s_referals_rented']);
$_RENEW_B_MAIN = ($_UPLINE_DAT['b_main'] >= $_UPLINE_DAT_PRICES['rent']) ? true : false;
$_RENEW_B_RENT = ($_UPLINE_DAT['b_rent'] >= $_UPLINE_DAT_PRICES['rent']) ? true : false;
if($_RENEW_B_MAIN == true || $_RENEW_B_RENT == true){
$_REFERRAL_CLASS = new referrals();
$_REFERRAL_CLASS->_paying($_UPLINE_DAT_PRICES, 30, $_UPLINE_DAT['x_username'], array($r['id']));
} else {
mysql_query("DELETE FROM `xeon_users_rented` WHERE `xeon_users_rented`.`id` = '{$r['id']}' LIMIT 1;") or _OP_ERROR(mysql_error(), __FILE__, __LINE__);
mysql_query("UPDATE `xeon_users` SET `r_r_rent` = '0' WHERE `x_username_2` = '{$r['user']}' LIMIT 1;") or _OP_ERROR(mysql_error(), __FILE__, __LINE__);
mysql_query("UPDATE `xeon_users` SET `s_referals_rented` = `s_referals_rented` - '1' WHERE `x_username` = '{$r['user_by']}' LIMIT 1;") or _OP_ERROR(mysql_error(), __FILE__, __LINE__);
$QUERY_SQL = mysql_query("SELECT * FROM `xeon_users` WHERE `x_username` = '{$r['user_by']}' LIMIT 1;") or _OP_ERROR(mysql_error(), __FILE__, __LINE__);
$QUERY_DAT = mysql_fetch_assoc($QUERY_SQL);
_OP_PROFIT_INSERT($QUERY_DAT['x_username'], $QUERY_DAT['id'], $QUERY_DAT['s_referals_direct'], $QUERY_DAT['s_referals_rented'], 's_removed_rented', 1, 1);
$QUERY_EXPIRES_COUNTER++;
}
} else {
mysql_query("DELETE FROM `xeon_users_rented` WHERE `xeon_users_rented`.`id` = '{$r['id']}' LIMIT 1;") or _OP_ERROR(mysql_error(), __FILE__, __LINE__);
mysql_query("UPDATE `xeon_users` SET `r_r_rent` = '0' WHERE `x_username_2` = '{$r['user']}' LIMIT 1;") or _OP_ERROR(mysql_error(), __FILE__, __LINE__);
mysql_query("UPDATE `xeon_users` SET `s_referals_rented` = `s_referals_rented` - '1' WHERE `x_username` = '{$r['user_by']}' LIMIT 1;") or _OP_ERROR(mysql_error(), __FILE__, __LINE__);
$QUERY_SQL = mysql_query("SELECT * FROM `xeon_users` WHERE `x_username` = '{$r['user_by']}' LIMIT 1;") or _OP_ERROR(mysql_error(), __FILE__, __LINE__);
$QUERY_DAT = mysql_fetch_assoc($QUERY_SQL);
_OP_PROFIT_INSERT($QUERY_DAT['x_username'], $QUERY_DAT['id'], $QUERY_DAT['s_referals_direct'], $QUERY_DAT['s_referals_rented'], 's_removed_rented', 1, 1);
$QUERY_EXPIRES_COUNTER++;
}
}
mysql_close($link);
?>
<?php
require_once(dirname(__FILE__) . '/../../../config.php');
require_once(dirname(__FILE__) . '/../funkcje.inc.php');
require_once(dirname(__FILE__) . '/../class.phpmailer.php');
$link = mysql_connect(XEON_DB_HOST, XEON_DB_USER, XEON_DB_PASS);
mysql_select_db(XEON_DB_DBNA);
$minclick = explode(":", config('min_click'));
$PRICE_CLICK = explode(":",config('get_clicker'));
$PRICE_CLICK_REFF = explode(":",config('get_clicker_ref'));
ini_set("max_execution_time", -1);
if(!$link){
_OP_ERROR('/DB/EXIT/FALSE/;', __FILE__ , __LINE__);
}
function _OP_AUTOPAY_SYSTEM($user, $referral){
$query_user = mysql_query("SELECT * FROM `xeon_users` WHERE `x_username` = '$user' LIMIT 1;") or die( _OP_ERROR(mysql_error(), __FILE__ ,__LINE__) );
$query_user_data = mysql_fetch_assoc($query_user);
$query_user_data_account = explode(':', $query_user_data['e_account']);
$query_ref = mysql_query("SELECT * FROM `xeon_users_rented` WHERE `user` = '$referral' LIMIT 1;") or die( _OP_ERROR(mysql_error(), __FILE__ ,__LINE__) );
$query_ref_data = mysql_fetch_assoc($query_ref);
$_OP_PRICE = _OP_PRICE_LIST($query_user_data_account[0], $query_user_data['s_referals_rented']);
if(!$_OP_PRICE){
//_OP_ERROR('AUTOPAY', __FILE__ ,__LINE__);
return false;
}
if($query_user_data['b_rent'] >= $_OP_PRICE['autopay']){
$query_from = '`b_rent`';
} else if($query_user_data['b_main'] >= $_OP_PRICE['autopay']){
$query_from = '`b_main`';
} else {
//_OP_ERROR('AUTOPAY', __FILE__ ,__LINE__);
return false;
}
$expires = floor(($query_ref_data['expire'] - time()) / 86400);
$expires_border = 20;
if($query_user_data_account[0] == 4){
$expires_border = 10;
} else if($query_user_data_account[0] == 3){
$expires_border = 15;
} else {
$expires_border = 20;
}
if(
$expires >= $expires_border &&
$query_user_data['config_autopay'] == 'aON' &&
$query_ref_data['autopay_last'] != date('Y/m/d') &&
( _FC_GET('6', date('Y/m/d'), $query_user_data['x_username']) + $_OP_PRICE['autopay'] ) <= ($query_user_data['s_referals_rented']*$_OP_PRICE['autopay'])
){
mysql_query("UPDATE `xeon_users` SET $query_from = $query_from - '{$_OP_PRICE['autopay']}', `config_update_stats` = '1' WHERE `id` = {$query_user_data['id']} LIMIT 1;") or die( _OP_ERROR(mysql_error(), __FILE__ ,__LINE__) );
mysql_query("UPDATE `xeon_users_rented` SET `autopay_last` = '".date('Y/m/d')."', `expire` = `expire` + '86400' WHERE `id` = {$query_ref_data['id']} LIMIT 1;") or die( _OP_ERROR(mysql_error(), __FILE__ ,__LINE__) );
mysql_query("INSERT INTO `xeon_stats_clicks` (typ, user, data, value) VALUES ('6', '$user', '".date("Y/m/d")."', '{$_OP_PRICE['autopay']}') ON DUPLICATE KEY UPDATE value = value + '{$_OP_PRICE['autopay']}';") or die( _OP_ERROR(mysql_error(), __FILE__ ,__LINE__) );
_OP_PROFIT_INSERT($query_user_data['x_username'], $query_user_data['id'], $query_user_data['s_referals_direct'], $query_user_data['s_referals_rented'], 's_value_autopay', $_OP_PRICE['autopay'], $_OP_PRICE['autopay'], 's_value_autopay_active', 1, 1);
return true;
} else {
//_OP_ERROR('AUTOPAY', __FILE__ ,__LINE__);
return false;
}
}
# ****************************** #
# ********* XEONS WORK ********* #
# ****************************** #
$QUERY_XEON = mysql_query("SELECT * FROM `xeon_users_rented` ;") or die( _OP_ERROR(mysql_error(), __FILE__ ,__LINE__) );
while($row = mysql_fetch_assoc($QUERY_XEON)){
if( date("Y/m/d", $row['clicks_last']) == date("Y/m/d") && $row['con_invo'] == 0 && $row['expire'] > time() ){
_OP_AUTOPAY_SYSTEM($row['user_by'], $row['user']);
}
}
mysql_close($link);
?>
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
سجاد عباسی
8 سال پیش
+1
0
عجیب هست که اینو بستن من روی چند هاست اشتراکی هم تست کردم باز بوده به هر حال این راهی هست که به ذهنم میرسه با php کد رو اجرا کنید مثل این ها:
* * * * * php /local/root/path/to/tasks.php > /dev/null
یا
php -q /path/to/cron.php
/usr/bin/php -q /home/CpanelUsername/public_html/RootFolder/cronjob/fetch.php
cd /home/username/public_html/; php -q script.php
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .