שגיאה בPHP שעוצרת את הסקריפט
-
זו שאלה של AGI (חיבור בין PHP לאסטריסק) אבל אני לא כותב אותה בפורום אסטריסק כי זה יותר נוגע לתיכנות
יש לפעמים שגיאות בסקריפט PHP שלי, והגדרתי את הAGI שישלח לי את השגיאות למייל, וכך אני יכול לעלות עליהן ולתקן.
אבל, יש שני סוגי שגיאות. סוג של שגיאות קלות, כמו מערך לא תקין וכדומה, שאני מקלב שגיאות למייל, וסוג אחר של שגיאות, נקרא להן כבדות, שפוט עוצרות את הסקריפט ומפילות את השיחה, כמו אם זה קורא לפונקציה לא קיימת.
הבעייה שאני לא מקבל מיילים על השגיאות הכבדות, וממילא לא יודע אותן, ורק לאחרונה גיליתי שגיאה חמורה שכבר חודשים רבים הסתתרה בתוך הקוד שלי..אני לא בטוח שהפיתרון צריך להיות בAGI, נראה לי יותר הגדרה בPHP שלא ייעצר גם אם יש שגיאות כבדות, וממילא לא יפיל השיחה וממילא ישלח לי השגיאה למייל.
אשמח לעיצה טובה מה צריך לעשות כדי להגדיר את זה.
תודה -
@שואף אני לא משתמש גדול בphp, אבל זה לא אמור לאפשר לך להפעיל פונקציה מותאמת בעת שגיאות קריטיות? (אני חושב שזה גם ממשיך את הריצה, לאחר הקריאה לפונקציה המוגדרת עיין עריכה)
set_error_handler("myError");
https://www.php.net/manual/en/function.set-error-handler.php
.עריכה: לפי זה, אכן משמע שניתן להמשיך את ביצוע הסקריפט לאחר הטיפול בשגיאה:
Also note that it is the handler's responsibility to stop the script's execution if necessary by calling exit(). If the error-handler function returns, script execution will continue with the next statement after the one that caused an error. -
@אביי כתב בשגיאה בPHP שעוצרת את הסקריפט:
אני לא משתמש גדול בphp, אבל זה לא אמור לאפשר לך להפעיל פונקציה מותאמת בעת שגיאות קריטיות?
@שואף כתב בשגיאה בPHP שעוצרת את הסקריפט:
והגדרתי את הAGI שישלח לי את השגיאות למייל, וכך אני יכול לעלות עליהן ולתקן.
PHPAGI כבר משתמש ב error_handler כדי שיגיע למייל.
-
אכן, ויש את זה כבר מוגדר כאן https://github.com/ictvision/phpagi/blob/master/AGI.php#L2019
ובכל זאת אני לא מקבל את השגיאה (ראה שם בסקריפט איך הוא שולח את המייל)