מה השרת (בתשלום) הכי מהיר ואמין למודולים של API?
-
@telepoint-ivr
אירוח אתרים הוא נותן לך את המעטפת שאתה צריך ולכן מבחינה תפעולית זה יותר טוב לך
מבחינת ביצועים יכתן ושרת "ערום" יתן קצת יותר, אבל לא מספיק משמעותי (לדעתי) בשביל שיצדיק שתתחיל ללמוד עכשיו לתפעל שרת
המומחים מוזמנים לתקן אותי כמובן -
@שמחה-זו-הסיסמא תכל'ס יש לך שם של חברה מסוימת יציבה
-
-
מנסיון אישי שלי לcontabo אין האיכות כמו שהם מתארים (והגם שמשלמים לפי מעבד וראם וכד' עדיין יש הבדל לשתרים שלהם לחברות אחרת)
(מחופש בגוגל פעם מצאתי מי שאומרים שהם משתמשים עם חומר ישן וכד' יש עוד המון מה שיכול לגרום לאיטיות וצריך לזכור שזה שרת שיתפי )
היה לי כ 10 שרתים אצל contabo והיום כמעט הכול עובר ל hetzner.com אני מאוד מרוצה שם (וכמבון לא רק מהאיכות יש להם גם ממשק נוח וכד')
-
@לעזור-לכולם
@amp-Software-0
ערכתי אתמול קוד להזנת מונה חשמל לשוכרי יחידה, והקראת העלות + מחיר קבוע יומי לגז~מים.<?php session_start(); // Check if the previous result is stored in the session if (!isset($_SESSION['counter'])) { $_SESSION['counter'] = 0; } // Check if the previous date is stored in the session if (!isset($_SESSION['prev_date'])) { $_SESSION['prev_date'] = strtotime(date('Y-m-d', strtotime('2023-1-1'))); } // Get the number from the GET request $number = (int) $_GET['a']; // Perform the calculation $result1 = ($number - $_SESSION['counter']) * 0.6155; // Get today's date $today = strtotime(date('Y-m-d')); // Calculate the number of days between the two dates $num_days = ($today - $_SESSION['prev_date']) / 86400; // Calculate the result $result2 = $num_days * 3.6; // Calculate the second result $result3 = $result2 + $result1; // Update the previous date in the session $_SESSION['prev_date'] = $today; // Update the result in the session $_SESSION['counter'] = $number; // Update the result in the session $_SESSION['amount'] = $result3; // Log the current value of $_SESSION $log_file = fopen('session_log.txt', 'a'); fwrite($log_file, print_r($_SESSION, true)); fclose($log_file); // Print the result print "id_list_message=t-סך הכל שעליך לשלם .n- $result3 .t-שקל, יש לבצע העברה בנקאית בהקדם:" ?>
אולם נתקלתי באותה הבעיה שדרך הטלפון זה מזוהה כסשן חדש כל פעם, למרות שבדפדפן זה פועל מצויין.
וכעת אני רואה שיש לך פתרון לזה.
מה אני אמור לשנות כאן שזה יעבוד? -
@לעיתים-נדירות כתב במה השרת (בתשלום) הכי מהיר ואמין למודולים של API?:
@לעזור-לכולם
@amp-Software-0
ערכתי אתמול קוד להזנת מונה חשמל לשוכרי יחידה, והקראת העלות + מחיר קבוע יומי לגז~מים.<?php session_start(); // Check if the previous result is stored in the session if (!isset($_SESSION['counter'])) { $_SESSION['counter'] = 0; } // Check if the previous date is stored in the session if (!isset($_SESSION['prev_date'])) { $_SESSION['prev_date'] = strtotime(date('Y-m-d', strtotime('2023-1-1'))); } // Get the number from the GET request $number = (int) $_GET['a']; // Perform the calculation $result1 = ($number - $_SESSION['counter']) * 0.6155; // Get today's date $today = strtotime(date('Y-m-d')); // Calculate the number of days between the two dates $num_days = ($today - $_SESSION['prev_date']) / 86400; // Calculate the result $result2 = $num_days * 3.6; // Calculate the second result $result3 = $result2 + $result1; // Update the previous date in the session $_SESSION['prev_date'] = $today; // Update the result in the session $_SESSION['counter'] = $number; // Update the result in the session $_SESSION['amount'] = $result3; // Log the current value of $_SESSION $log_file = fopen('session_log.txt', 'a'); fwrite($log_file, print_r($_SESSION, true)); fclose($log_file); // Print the result print "id_list_message=t-סך הכל שעליך לשלם .n- $result3 .t-שקל, יש לבצע העברה בנקאית בהקדם:" ?>
אולם נתקלתי באותה הבעיה שדרך הטלפון זה מזוהה כסשן חדש כל פעם, למרות שבדפדפן זה פועל מצויין.
וכעת אני רואה שיש לך פתרון לזה.
מה אני אמור לשנות כאן שזה יעבוד?תשתמש בסשנים משלך, תעבוד עם מסד נתונים ותעשה לפי מספר טלפון או זיהוי אחר..
-
@לעיתים-נדירות
תוסיף את השורה הזו לפניsession_id($_GET['ApiCallId']); session_start();
אתה בעצם מגדיר מאיזה סשן לקרוא\לאחסן את הנתונים
-
@לעיתים-נדירות
03-3137311 -
@לעזור-לכולם כתב במה השרת (בתשלום) הכי מהיר ואמין למודולים של API?:
@לעיתים-נדירות
03-3137311מה זה?
-
@amp-Software-0
תודה רבה!עובד נפלא!!!!
-
@amp-Software-0 כתב במה השרת (בתשלום) הכי מהיר ואמין למודולים של API?:
@לעיתים-נדירות
תוסיף את השורה הזו לפניsession_id($_GET['ApiCallId']); session_start();
אתה בעצם מגדיר מאיזה סשן לקרוא\לאחסן את הנתונים
מתאים לכל קוד שאני רוצה שבקריאה הבאה יתחיל מאיפה שעצר?
-
@שמואל-ש
לא מדוייק
אם אתה כותב בשפת PHP אין אפשרות לבקש ממנו שיתחיל 'מאיפה שעצר' מכיון שבכל קריאת API הדף כולו נטען מחדש
השימוש הנ"ל מאפשר לשמור נתונים שהתקבלו בשיחה הזאת באמצעות אובייקט$_SESSION
על ידי מזהה השיחה, כך שאין צורך בכל פעם לחשב אותם מחדש אלא רק לשלוף אותם מהאובייקט הנ"ל.
כמו"כ זה מאפשר לנהל את ההקשות של המשתמש בצד השרת שלך, ולא דרך אובייקט$_GET
מה שמאפשר לך 'להסיר' הקשה של משתמש במקרה שהמשתמש בחר לבטל את ההקשה, ועוד -
@amp-Software-0
עכשיו אני קולט, שזה משנה את הסשן ID בכל שיחה חדשה (גם מאותו מספר), ורק באותה השיחה הסשן נשאר זהה. אז לא פתרנו את הבעיה. יש לך פתרון? -
@לעיתים-נדירות
ברור, כי הגדרת את הסשן ID ל CallID שמתקבל מימות, שהוא משתנה כל שיחה
אם אתה מעוניין לשמור נתונים עבור לקוחות, הפתרון הכי פשוט זה לנהל דאטה בייס.
אתה כן יכול לנסות להגדיר את הסשן ID למספר טלפון של המחייג, אבל יש אורך חיים לסשן (ברירת מחדל זה יום שלם אני חושב), תצטרך להגדיל אותו כדי שלא יתאפס אחרי זמן.
בכל מקרה זה דרך ממש גרועה, כי אין לך אפשרות באמת לנהל את הנתונים והמידע על המשתמש,
אם יש לך כבר שרת, למה שלא תנהל דאטה בייס, או לפחות קובץ מקומי שמחזיק את הנתונים -
@amp-Software-0 נו, אז באותו שיחה אפשר כן להמשיך מאיפה שאחז?
ולא להשתמש עםif($___==null)
?
ואם אכן כן, אז איך כן נשתמש?
ומה זה@amp-Software-0 כתב במה השרת (בתשלום) הכי מהיר ואמין למודולים של API?:
זה מאפשר לנהל את ההקשות של המשתמש בצד השרת שלך
למשל? תוכל לתת לי דוגמא/ הסבר?
-
@amp-Software-0 כתב במה השרת (בתשלום) הכי מהיר ואמין למודולים של API?:
אם אתה כותב בשפת PHP אין אפשרות לבקש ממנו שיתחיל 'מאיפה שעצר' מכיון שבכל קריאת API הדף כולו נטען מחדש