סיום סקריפט PHP גם אחרי שהלקוח סוגר את הדפדפן
-
יש לי קוד PHP שעושה פעולה שלוקח כ10 דק'
(עדכון המון ערכים בmysql)
הדרך הכי קלה עבורי להפעיל את הסקריפט זה בקשה מהדפדפן
אבל ברגע שאני סוגר את הדפדפן הסקריפט נעצר
אני נמצא כרגע באירוח hostinger
יצויין שבאחסון החינמי שלהם (000webhost.com) זה כן היה ממשיך עד שהסקריפט הסתיים למרות שסגרתי מייד את הדפדפן
ניסיתי להוציף בתחילת הקודignore_user_abort(true);
וזה לא עזר
אשמח לעזרתכם
(אני מעדיף להפעיל את הסקריפט בצורה של בקשה מהדפדפן ולא בצורה אחרת) -
זה מסתיים מיידית או אחרי X זמן?
אתה יכול לבדוק ככה, תעשה שני קבצי PHP, אחד קרא לו למשל test-view.php עם תוכן כזה ששפוט קורא תוכן קובץ ומציג אותו:<?php echo file_get_contents('test.txt'));
והשני קרא לו למשל p-test.php עם תוכן כזה שעם לולאה מעלה כל שניה ערך מספרי וכותב את זה לקובץ את הערך (האחרון):
<?php set_time_limit(0); ignore_user_abort(true); $filename = 'test.txt'; $current = intval(file_get_contents($filename)); echo "הערך כעת הינו $current"; for (; $current <= ($current + 100); $current++) { file_put_contents($filename, $current); sleep(1); }
ואז כנס דרך הדפדפן לשני וסגור מייד, ואחרי דקה וחצי כנס לראשון ותראה מה הערך שכתוב.