אירוח ופיתוח האתר נתרמו באדיבות...
- לינווייט - תשתיות תוכן וקהילה
- אמנון לבב - לבבי מדריכים
כל מי שפיתח או התעסק עם דרופל הרבה נחשף לזה.
פתאום אתה עומד מול חלון לבן בלי צל של מושג מה קרה.
החלון הלבן בדרך כלל נגרם בגלל שגיאת php והודעת השגיאה של הphp בדרך כלל נרשמת לקובץ "לוג" במערכת הקבצים.
אם אתה מנוסה ומכיר קצת את המערכת של ספק השירות שלך - בודאי תסתדר באיתור קבצי הלוג ותוכל לנסות לפענח את שגיאת הphp - שברוב המקרים אתה יצרת אך למתחילים (וגם לעצלנים - כמוני) אפשר לנתב את שגיאות הphp לדפדפן
הוספת הקטע הבא לסוף קובץ ה .htaccess שלכם תגרום לשגיאות הphp להופיע על הדפדפן.
<IfModule mod_php5.c>
# ...
php_value display_errors on
# ...
</IfModule>שימו לב שהסיבה שההגדרה הזו כבויה בברירת המחדל היא בגלל אבטחה - פורץ יכול ללמוד מהמערכת ומשגיאותיה..
כך שכדאי להוריד את ההגדרה כאשר משחררים את השרת לproduction.
ליאור קסוס, לינוויט
תשתיות תוכן קהילתיות
| סוג | נושא | מאת | תגובות | התעדכן |
|---|---|---|---|---|
| שאלה | שאלות כלליות בנושא שרת ואחסון אתרים | אמיר תייר | 3 | לפני 2 שעות 58 דקות |
| שאלה | דרוש מתכנת Drupal מנוסה למשרה מלאה | oded | 0 | לפני 4 שעות 8 דקות |
| שאלה | אם אני רוצה שבדף הראשי לא תוצג הכותרת של העמוד, איך אני עושה זאת? | AKAVIS | 0 | לפני 4 שעות 28 דקות |
| שאלה | בעיה מוזרה מאוד בעיצוב בדרופל + בעיה אחרת | AKAVIS | 2 | לפני 4 שעות 29 דקות |
| שאלה | משלוח ניוזלטר למספר גדול של מנויים | liats75 | 8 | לפני 7 שעות 59 דקות |
| שאלה | ייבוא nodes מקובץ XML ב UBERCART | ori | 0 | לפני יום אחד 12 שעות |
| שאלה | איך מעלים תצוגה של האתר עם | שמרית | 0 | לפני 3 ימים 3 שעות |
| שאלה | mysql לא עובד | שמרית | 2 | לפני 3 ימים 8 שעות |
| הודעה | קול העם ב-IRC, ועידת קהילה | Zus | 3 | לפני 3 ימים 12 שעות |
| שאלה | הקמת פורטל | morpheus | 1 | לפני 3 ימים 12 שעות |
תגובות
אפשר כך, ואפשר גם אחרת
- אפשר להכניס display_errors גם ב- php.ini (ראו עוד על הנושא של שגיאות ובעיות ב- PHP כאן: http://il.php.net/manual/en/ref.errorfunc.php).
- אנשי יוניקס יכולים "לסדר לעצמם" את שגיאות ה- PHP גם ב- xconsole, למי שמשתמש, ואז יש דיווח שוטף גם לאתר שבו אתם לא רוצים דיווחים בדפדפנים של הגולשים:
error_reporting = E_ALL
display_startup_errors = On
log_errors = On
error_log = syslog
report_memleaks = On
(וכן הלאה וכן הלאה - ראו לינק לנושא למעלה...)
- ולסיום - הגישה של לשים את הבקשה לדיווח על שגיאות ב- htaccess מאפשרת שלחלק מאפליקציות הדרופל שרצות על המכונה (למשל אפליקציות חיות) לא יהיה דיווח שגיאות (מכוער ובעל סיכונים "בטחוניים" לאתר) ולחלק כן. זה כמובן יתרון מצויין. כן, לא צריך להעיר לי - בכלל כדאי להפריד בין LAMP לפיתוח ו- LAMP חי אבל כולנו יודעים שלא תמיד זה קורה.
בועז.
PHP Therapist
לינווייט - תשתיות תוכן קהילתיות
לא ייאמן!
לא ייאמן אתה חושב שבשוק המסחרי יש אנשים שלא מבדילים בין סביבות פיתוח לסביבות פרודקשיין ולא מנהלים ניהול תצורה מסודר???!!!
זה נשמע לי פסיכי לגמרי :)
ליאור קסוס, לינוויט
תשתיות תוכן קהילתיות
והמבין יבין...
:-)
בועז.
PHP Therapist
לינווייט - תשתיות תוכן קהילתיות
יש עוד דרך
לכתוב בלי שגיאות.
ככה אף אחד לא רואה הודעות מסוכנות באתר, זה לא מכוער, ולא צריך להשקיע זמן לדבג את זה.. :)
לא תמיד ריאלי
לפעמים הבעיות הן בכלל במודולים שלא אנחנו כתבנו או בעיות בקינפוג PHP על השרת ובאופן כללי, הלואי שהייתי יכול בלי white screen of death לעתים. האמת, שעם לוגינג כמו שצריך זה לא מפריע לי - אני מיד רואה מה הבעיה, ובד"כ גם מבין מיד או כמעט מיד.
כמו כן, בפיתוח עם IDE כמו שצריך (עם סביבת דיבוג עובדת) מאוד קל להגיע לרזולוציה הכי גבוהה של קרבי התוכנית ולראות גם מה נעשה שם, ולהבין די מהר למה. זה משלים טוב מאוד הודעות PHP שמגיעות עם קובץ ומספר שורה בה התרחש הדיווח.
בועז.
PHP Therapist
לינווייט - תשתיות תוכן קהילתיות