מדריך PHP

מדריך PHP: הגדרות php.ini

‏ • Internet Israel

וובמטריקס, התוכנה שעליה אנו לומדים, משתמשת בשרת מבוסס חלונות: IIS להרצה של הסקריפטים שלנו. אנו נכנס אל ה-iis באמצעות התפריט:

iis

יפתח לנו תפריט ה-iis, שם נאתר את החלק המוקדש ל-PHP

find PHP Manager on iis

נלחץ עליו ונקבל את החלון הבא:

PHP Setup

זה החלון של מנהל ה-PHP. שם נוכל לצפות בקובץ phpinfo – מדובר בקובץ המכיל את כל המשתנים שיש בהגדרות של השפה בשרת. אפשר להגיע ל-phpinfo דרך מנהל הגדרות ה-PHP או להדפיס את השורה הבאה בקובץ כלשהו ולהריץ אותו:

<?php
print phpinfo();

תופיע לנו טבלה ארוכה כאורך הגלות המכילה את כל משתני השפה. בואו ונסתכל על ההגדרות השונות – כולן מעניינות ויכול להיות שיהיו רלוונטיות בחלק מהאפליקציות שלכם. בואו ונסתכל על הגדרה אחת ספציפית – memory_limit:

PHP info

זו כמות הזכרון שמוקצה להרצת הסקריפט, לפעמים אנו צריכים לשנות את זה ואת זה אנו עושים באמצעות php.ini. נחזור למנהל ה-PHP ונלחץ על configuration file:

PHP configuration file

ייפתח לנו notepad המכיל את php.ini – הקובץ המכיל את כל ההגדרות של PHP, שם נמצא גם את ההגדרה של כמות הזכרון המוקצה לנו:

php.ini

נשנה אותה ל-256 ונשמור. נרסט את שרת ה-IIS:

Restart iis

אם נבדוק את ה-phpinfo, אנו נראה שהערך השתנה, כך בנוגע כמעט לכל הגדרה. Php.ini מאפשר לנו שליטה מלאה על איך שה-PHP שלנו מתנהג.

ניתן לשנות חלק מתכונות ה-php.ini באופן זמני באמצעות פונקצית ini_set. כך למשל

<?php
    ini_set('memory_limit', '320M');
print phpinfo();

ואם נסתכל על ה-phpinfo אנו נראה שה-local שונה מה-master במקרה הזה:

phpinfo

הנה הרשימה של כל התכונות שניתן לשנות באמצעות פונקצית ini_set.

שגיאות PHP

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

ארגומנט ראשון: רמת השגיאה, כאשר יש מספר רמות: אזהרה: כמו למשל הודעה, אזהרה והודעת משתמש.

ארגומנט שני: תוכן השגיאה.

ארגומנט שלישי: הקובץ שבו נעשתה השגיאה.

ארגומנט רביעי: מספר השורה שבה התרחשה השגיאה.

ארגומנט חמישי: הקונטקסט (אם קיים) של השגיאה.

הנה דוגמא לפונקציה כזו:

<?php

function myError($error_level, $error_message, $error_file, $error_line, $error_context) {
    print "<strong>Error:</strong>
           <br />Error level:  $error_level
           <br />Error message: $error_message
           <br />Error file: $error_file
           <br />Error line: $error_line
           <br />Error context: $error_context
           ";
}

כפי שאנו רואים, שם הפונקציה הוא ארביטרארי לגמרי.

עכשיו יש לרשום את הפונקציה כפונקציה שתרוץ כאשר יש שגיאה:

set_error_handler("myError");

זה די פשוט, פשוט שימוש ב-set_error_handler ושם הפונקציה.

אפשר לבדוק את כל הסיפור באמצעות הקוד הבא:

<?php

function myError($error_level, $error_message, $error_file, $error_line, $error_context) {
    print "<strong>Error:</strong>
           <br />Error level:  $error_level
           <br />Error message: $error_message
           <br />Error file: $error_file
           <br />Error line: $error_line
           <br />Error context: $error_context
           ";
}

set_error_handler("myError");

echo($test);

וככה זה נראה:

Error log

אפשר ליצור הודעת שגיאה משלכם בקוד באופן הבא:

trigger_error('our error message!');

כאשר ברגע שאתם מריצים את trigger_error בעצם נוצרת שגיאה בקוד שהפונקציה שלכם, אם יצרתם אותה, תתריע עליה.

תגיות: ,

רן בר-זיק

מתכנת PHP מנוסה ובעל ידע רב בפיתוח לאינטרנט על בסיס LAMP. מומחה במערכות דרופל, ג'ומלה ו-וורדפרס. שולט היטב בכל מה שקשור לפרונט אנד: JavaScript: jQuery ו-MooTools,ActionScript 2/3 וכמובן HTML 5 + CSS 3.אינטרנט ישראל: www.internet-israel.com

תגובות בפייסבוק