Salam.. sualım http://azstat.biz saytı ilə bağlıdır.. bu saytda sistem gecə 12dəsifirlanmir yalniz gerek ozum sifirlayi her sheyi.. beleki bir phpda sifirlanma ucun olan amiller cemlenib.. hemin linke girdikde php kodlar ise dusur ve sistem yenilenir.. hemin kodlari connect.php-ya atdiqda her saniye sifirlanir sistem.. cunki connect.php daima is rejiminde olur… mene nece edim ki sistem her gece 12de ozu yenilensin
Verilmiş cavablar və yazılan şərhlər (9 cavab var)
0
1. Sistem timezone asia/baku olmasına diqqət etmək lazımdır. Ki doğurdan da bizim saatla eynidirmi sistem saatı.
2. Düz saat 12de gərək kimsə o skripti çalışdirsin ki o da işə düşə də. Php özü özünü işə sala bilməz axı. Mütləq çağırılma olmalıdır. Çağırılmani avtomatlaşdırmaq üçün müvafiq php faylıni idarə panelinizdeki cron jobsa yazmaq lazımdır. Vəssalam.
0
time zone Asia/Baku olaraq qeyd etmishem.. bu oz yerinde.. onda bu kod duzgundur yeqin ki.. bunu yerleshdirsem saat 12de sistemde hereket olduqda sifirlanacaq demek
1
Yuxarıda yazılan cavab ilə bu yazdıqlarınızda bir əlaqə görmürəm. Skript də anlaşılmazdır.
Date zad boş verin. if ($argv[1]==’xususi_bir_soz’) {mysql_query(“update….”);} olsun fayldakı əmr. Cron Jobs-da da gecə 12-ni seçin, və faylin_direktoriyasi/faylin_adi.php?xususi_bir_soz=1 faylını kronda save edin. Bu işin yolu budur.
0
Hosting idarə etmə panelində cronu hər dəqiqə üçün aktiv edərək, klik edəndə işə düşən faylın URL ünvanını yazın.
Sonra
$saat = date(“H:i”);
if($saat == ’00:00′) {
//klik edəndə çalışır dediyiniz kodları bura yazın
} else {//heçnə çalışmasın}
0
Salam bu şərhlərin hamısı kankret olaraq tam işə yaramayacaq. Yəni əlverişli deyil. Beləki sizin top reytinqdə bir php varki orda şəkil yaranır və host hit (hər bir saytın ?sayt=$sayt[host]) şəkilin üzərinə yazılır. Bunun vasitəsiylədə çağırmaq olar bu əmri. Beləki sizin top reytinqinizdə hər hansı bir sayta kimsə saat 12 dən sonra keçid edərsə o biri saytlarda yenilənər. Beləcə sizin klik etmənizə ehtiyavc yoxdur və saat qadağası qoymaqda pisdi. Bəlkə işdi 1 – ə işləmiş keçid oldu? Elə buna görə hər gün bu ayın neçəsi olduğunu sqla yazmaq lazımdır: mysql_query(“update … evvelkigun = ‘”.date(‘j’).”‘); . Və hər günün sonunda şəkili höstərən phpya belə atmaq olarki:
$gun=date(‘j’);
if($sql[‘evvelkigun’]!=$gun)
{
mysql əmrləri və s. yenilənir
yeni tarix $sql[‘evvelkigun’] – ə yazılır.
}
Fso. Və beləcə yalnız ayın tarixi dəyişdikdə yenilənər və yeni tarix mütləq sqla yazılar.
Uğurlar…
0
bu da tam əlverişli həll deyil. yeganə optimal həll cron jobs-dur. dəqiq və xətasız. Siz deyən yol isə saat 12 olduğunu yoxlamaqdan qat-qat yaxşı yol olsa da, yenə də tam həll deyil və 12-dən sonra sayta kiminsə girdiyi ana qədər işləməmiş olacaq. Bu bəzi hallarda tam işə yaraya bilər, bəzi hallarda isə ciddi problemlərə səbəb ola bilər.
0
Qardaş tam dəqiq xətasız bir həlldir. Siz hər dəfə gece yeniləməlisiz. Bu lap zülmdü. Bəlkə vaxtınız olmayacaq yeniləməyəcəksiz? Hər şeyin rahat yolun axtarmaq lazımdı. Bu qədər imkam içində hələ bu sadə asan üsuldu. Başqalarıda var. Avtomatik nəsə əla olur 🙂
0
Siz cavabımı tam oxumadınız yəqin. Mən məhz avtomatlaşmış həll təklif elədim. Sizin həll isə yarı-avtomatlaşmış həlldir.
Mübahisə üçün yazmamışdım onu, dəqiqləşdirmək üçün yazmışdım.
Sizin yazdığınız yol ola bilər 95% halda işi görər, amma sizə elə hallar deyə bilərəm ki, sizin təklif etdiyiniz həll katastrofik problemlərə səbəb ola bilər və yanlış işləyər. Çünki tam avtomatlaşmış yox, çağrıdan sonra avtomatlaşmış həlldir. Arada kiçik zaman xətaları meydana çıxa bilər.
Mənsə tam avtomatlaşmış həllin adını yazmışdım yuxarıda – Cron Jobs. Hansı ki, serverdə 24 saat ayıq rejimdə olur və hər şeyi milli saniyəsinə qədər dəqiq icra edir. Sayta kimsə girdi ya girmədi heç bir fərq etmədən.
Ətraflı maraqlananlar
php process-in çalışma məntiqini və cron jobs-un məntiqini araşdırıb oxuya bilərlər.
0
Yox nə mübahisə qaqaş. Biz əksinə öyrənirik. Aha mən səhv başa düşdüm sənin postivu üzrlü say. Elə bildim özün daxil olub yeniləməni deyirsən. Təşəkkür.
Sual verin
Cavab verin