PDA

View Full Version : سوال: مشکل با نسخه جدید php در نمایش خطاها



ahmadbadpey
شنبه 25 آبان 1387, 20:24 عصر
با سلام خدمت دوستان
من به تازگی نسخه جدید easy php را نصب کردم که از آخرین نسخه php استفاده می کنه . قبلا هم از easy php 1-6 استفاده می کردم . با نصب easy php با خطاهایی روبرو می شوم که در نسخه قبلا با آن مواجه نمی شدم . البته خطا هایی که صادر می شود به چیز های خیلی کوچیک گیر میدن مثلا به <? گیر میده و باید حتما اونو به صورت <?php بنویسم یا مثلا برای تابع mysql_select_db نام دیتابیس رو به صورت ساده می نوشتم اما حالا میگه به صورت رشته اونو بنویسم . اما فکر کنم این مشکلات به خاطر مجوز نمایش خطاها تو php باشه که باید بعضی از اونا رو غیر فعال کنم . لطفا منو برای این کار راهنمایی کنید .
در ضمن این خطاها از نوع Notice هستند.

mn3250
یک شنبه 26 آبان 1387, 15:47 عصر
error_reporting(0);

رو در ابتدای کدتون قرار بدید.

moslem-visual
یک شنبه 26 آبان 1387, 19:20 عصر
البته بهتره ارورها رو داشته باشيد، براي موارد ديگه، اينكار شما رو در عيب يابي دچار مشكل ميكنه. براي تغيير در تنظيمات PHP فايل php.ini رو در محل نصب EasyPHP پيدا كنيد، در منويي كه از كليك روي آيكونش كنار ساعت ظاهر ميشه هم بايد گزينه اي مثل PHP Config يا همچين چيزي داشته باشه، خطوط مربوطه رو پيدا كنيد و با مقداري كه جديد جايگزين كنيد، البته حواستون باشه كه كامنتها رو جايگزين نكنيد، قبل از كامنتها سيمي كالن هست.

مثلا براي گيري كه به ?> ميده البته كارش خوبه چون ممكنه اگه كدتون رو در يك سرور واقعي اجرا كنيد از اين شيوه پشتيباني نكنه بنابرين توصيه اينه كه از همون شكل كاملش استفاده كنيد اما براي اينكه بتونيد فعلا ازش استفاده كنيد



short_open_tag = Off

رو به


short_open_tag = On

تغيير بديد، اما در مورد مشكل دومتون، شما تا حالا نام ديتابيس رو چجوري مينوشتيد؟! تا جايي كه من ميدونم mysql_select_db آرگومان اولش كه همون db_name باشه رو به عنوان يك رشته ميگيره...

mn3250
یک شنبه 26 آبان 1387, 23:59 عصر
نمایش خطاها مشکلات امنیتی داره بنظرم.
من در یک برنامه حرفه ای حتما نمایش خطاها رو مسدود میکنم و جایی برای مراجعه بعدی ذخیره میکنم.
تاپیک جالبی در زمینه ارور هندلینگ در همین تالار موجوده.

zoghal
دوشنبه 27 آبان 1387, 06:20 صبح
خدمت دوست عزیزم عرض کنم
1- easy php تقریبا 2 سالی هست که به روز نکرده برنامه هاش رو پس مطمئن باشید که آخرین ورژن php و mysql و .... رو کار نمیکنید. \پیشنهاد میکنم که حتما از xampp یا نرم افزار های از این دسته که به روز هستن استفاده کنید.

2- این Notice برای برنامه نویس بسیار مفید هست، به کمک همین ارور ها شما میتونید خیلی از باگ های اسکریپتتون رو قبل از این که به دست هکر برسه رفع کنید. اما خوب وقتی اسکریپت رو استفاده میکنید. بهتره اگر اسکریپت خطا دارد اون رو نشان ندهد و در فایل لوگ شود.

برای نشان ندادن این Notice هم میتوانید قبل از هر تابع یا متقیر @ بزارید مشکل نمایش رفع میشود