הגדרות לאפאצי

amosexy

New member
הגדרות לאפאצי

היי חברים

אני מריץ דרך הקוד שלי קוד של אנשים שמעלים אליי לאתר
ויש סיכוי ללולאות אינסופיות
מה שעלול לגרום אצלי לבעיה
לכן חשבתי על להגדיר זמן המתנה מירבי ואחר כך שהשרת יזרוק אותי לדף אחר אם היה טיים האוט
האם יש דרך אחרת לתקוף את זה

ואם לא
איך אני מגדיר לשרת לעשות את מה שאני רוצה...

תודה רבה
 
מי אלו האנשים הללו?

כל אדם?
בגדול יש את הגדרת הMAX_EXECUTION_TIME שהורגת את הסקריפט אחרי זמן מסויים, אבל אם זה קוד של אנשים זרים הזמן ריצה זה הדבר האחרון שאתה צריך לחשוש ממנו..
 

amosexy

New member
סטודנטים

איך אני מגדיר את הערך הזה?
מה קורה כשהזמן הזה עובר?

איך אני יכול להתגונן משאר צרות שהם יכולים לעולל לשרת?
 

amosexy

New member
כדי לבדוק את נכונות התרגיל שלהם +

אני בודק את התרגיל שלהם על מספר קלטים שאני יודע מה הפלט שלהם
+
אני עושה ניתוח קוד ברמת התיעוד
וברמת הקריאות של הקוד ( יש מדד שמגדיר את זה)
 
זה בעייתי, אבל תלוי כמה אתה פרנואיד

האם אתה מעיף מבט על הקוד לפי שאתה מריץ אותו או שהם גם יכולים להריץ אותו?

יש לך את:
http://www.php.net/manual/en/info.configuration.php#ini.max-execution-time
http://www.php.net/manual/en/ini.core.php#ini.memory-limit

אם הם צריכים רק לבצע פעולות בזיכרון, בלי IO כלשהו, (אולי רק DB)
אתה יכול לבטל את רוב ההרחבות של הPHP חוץ ממה שצריך יש דברים שאתה תצטרך לקמפל את הPHP מחדש בבשביל זה, ויש דברים שזה רק לשנות הגדרה.
 
אז מPHP אני חושב שכבר אין לך כ"כ שליטה על זה

אני לא יודע אפילו אם ה max-execution-time ישפיע על תוכנית שכתובה בC שתריץ בשרת
 

bnayal

New member
אז הקוד שלהם בכלל רץ

על השרת עצמו ולא דרך אפאצ'י. אני טועה?
אם ככה אין שום דרך באפאצ'י לחסום את זה.
אני לא מכיר מספיק טוב את הדברים אבל אני מניח שתצטרך להריץ את התוכניות על משתמש מוגבל ברמת מערכת ההפעלה ולא ברמת אפאצ'י.

אגב, חבל שאתה לא מספק את כל הפרטים האלו מההתחלה...

בניה
 

amosexy

New member
צודק.. ו...

הרעיון הוא שסטודנט יעלה את הקוד שלו בשפת C לשרת
אני מקמפל אותו ומתחיל לבדוק
אם הוא עובר קומפילציה
אני מריץ את הקובץ שלו ומשווה את הפלט על קלט ספציפי ומשווה כדי לוודא שזה נכון

עכשיו נניח ובקובץ שלו יש לולאה אינסופית
איך אני יכול להפסיק את הריצה הזאת?
האם אני יכול להגיד לדף PHP לזנוח את ההמתנה לתוכנית ולתת הודעה מתאימה + שהתוכנית תיפסק ברקע מתישהו על ידי מערכת ההפעלה?

איך אני מגדיר משתמש מוגבל כזה
ומה המוגבלות שלו תאפשר לו לעשות ומה לא?

תודה רבה

אני קצת חדש בעולם של PHP ובכלל של לינוקס
 

bnayal

New member
אני רואה פה שתי בעיות

ולכל אחת פתרון אחר.
הבעיה הראשונה היא שהPHP יחכה לתשובה מהקוד C, את זה אני מניח שאפשר למנוע שהוא יתקע ע"י הגבלה של זמן הריצה של הPHP. במקרה כזה הוא יתן שגיאה שעבר זמן הריצה המקסימאלי של סקריפט.
הבעיה השניה היא שמכיוון שהקוד רץ על השרת ורק מחזיר תשובה לPHP הוא ימשיך לרוץ על השרת גם אם הPHP עצר (זאת תיאוריה שלי - אין לי דרך לבדוק, שווה לך לעשות ניסוי).
איך מגבילים את זמן הריצה של הסקריפט C על השרת אני לא יודע, אין לי נסיון בזה.
מעבר לזה שהקוד יכנס ללולאה אין סופית צריך לראות אם יש דרך להריץ את הC על משתמש מוגבל ביכולות שלו כמו שאמרתי כדי שלא יוכל לבצע פעולות בהגדרות השרת או בקבצים אחרים בשרת. על זה כדאי לשאול בפורום לינוקס (כאן בתפוז).

בכל מקרה נשמע ניסוי מעניין לביצוע אז שיהיה בהצלחה


איפה אתה מלמד אם אפשר לשאול?

בניה
 

amosexy

New member
אני לא מלמד

אני לא מלמד
זה פרוייקט של סוף התואר.. (מכללת נתניה)
זה רק החלק הראשון ממנו

ותודה
אדווח אם יהיו התקדמויות
 
למעלה