۲۷ مهر ۱۳۹۱, ۱۰:۴۶ ق.ظ
|
|
خطاهای معمول PHP
خطاهای رایج در نصب اسکریپت های پی اچ پی
اگر شما برنامه نویسی به زبان php کرده و یا حتی اسکریپت های به این زبان رو نصب کرده باشین ، حتما برایتان پیش آمده که با error های مختلفی روبرو شده باشید.در این مقاله سعی داریم تا خطاهای رایج و معمول پی اچ پی رو بازگو و راه حل برطرف کردن اونهارو بیان کنیم. پس با ما همراه باشید.
این مقاله برای برنامه نویس های حرفه ایی نیست ، چون اونها قطعا تمامی راه حل هارو میدونن . مخاطب اصلی این مقاله افرادی هستند که می خواهند اسکریپت نصب کنن اما دانش چندانی برای رفع خطا ندارند. بنابراین این خطاها بیشتر به زمان نصب اسکریپت مربوط میشن تا نوشتن اونها.
بعد از تصب اسکریپت با صفحه سقید مواجه میشید!!
همیشه سعی کنید اسکریپت رو بر روی لوکال تست کنید ، چرا که در این موقع که شما با صفحه سفید مواجه میشید میتونید به لاگ خطاها مراجعه کنید و ببینید مشکل از کجاست. اما اگر اسکریپت رو روی هاستتون نصب کردین و صفحه سفید واستون بالا اومد ، یه ذره کار سخت تر میشه. چون اکثر هاست ها به دلایل امنیتی این امکان رو میبندن و شما به صورت معمول ( اکثر مواقع ) قادر به مشاهده اررور لاگ نیستین. پس ما باید این امکان رو فعال کنیم.
اول یه دایرکتوری روی هاستتون ایجاد کنید ، به هر نامی که دوست دارید. مثلا errors. به این فولدر دسترسی نوشتن بدید.
حالا برید سراغ فایل htaccess. و کدهای زیر رو بهش اضافه کنید:
۱/php_flag log_errors on php_flag display_errors off php_value error_log /your/path/public_html/errors/php_error.log
بهتره که دسترسی عمومی به فولدر errors رو ببندید. برای این کار یه فایل htaccess. بسازیذ و کدهای زیر رو داخلش اضافه کنید:
۱/Order allow,deny Deny from all
حالا اسکریپت خودتون رو اجرا کنید و بعد به فولدر errors برید و خطای تولید شده رو داخل فایل php_error.log ببینید. -
خطا ، اخطار و اعلان
پیغام های زبان php به سه دسته تقسیم میشوند:
۱- اخطار ( Warning ) اخطار در واقع بدین معناست که یک مشکلی پیش آمده است اما سیستم به کار خود ادامه میدهد.
۲-اعلان ( Notice ) اعلان به شما میگوید که باید به این بخش توجه کنید.
بیشتر این اعلان ها مربوط به زمانی است که ورژن php سرور شما با ورژن اسکریپت متفاوت باشد. برای اینکه ما تمام اعلان ها و اخطارها رو به همراه خطاها در لاگ ذخیره کنیم میتوانیم از قطعه کد زیر در فایل htaccess. استفاده کنیم:
۱/php_flag log_errors on php_flag display_errors off php_value error_log /your/path/public_html/errors/php_error.log php_value error_reporting -1
اولبن error مهمترین خطای شماست در اکثر مواقع اولین خطایی که شما دریافت می کنید مهمترین خطای شماست.
خطاهای مربوط به پایگاه داده ( Database )
زمانی که شما بخواهید یک اسکریپت را نصب کنید ، نیاز دارید اطلاعات اتصال به پایگاه داده را در فایل مربوط به تنظیمات آن وارد نمایید. معمولا این اطلاعات به صورت سرور ، نام کاربری و کلمه عبور می باشد. Server: localhost username: database username password: database username's password معمولا سرور همان localhost هست و شما باید جلوی نام سرور این را بنویسید. در ادامه شما میبایست از طریق هاست خود اقدام به ساخت دیتابیس و کاربر آن بکنید. بنابراین اگر خطایی در رابطه با اتصال به پایگاه داده دریافت کردید حتما تنطیمات این بخش رو چک کنید.
Fatal Error: Call to Undefined Function
۱/Fatal error: Call to undefined function my_function() in /home/mysite/public_html/test.php on line 2
این خطا زمانی رخ میدهد که تابع مورد نیاز صفحه مورد نظر وجود نداشته باشد و یا پیدا نشده باشد. معمولا این خطا به دلایل زیر رخ می دهد:
۱- امکان دارد شما تمامی فایل های اسکریپت راآپلود نکرده باشید.
۲- زمانی که یک اسکریپت رو آپگرید میکنید
۳- تنظیمات فایل configuration رو بدرستی وارد نکردید
۴- اسکریپت برای اجرا نیاز به یک تابع دارد که آن تابع در سرور باید موجود باشد مثل imagecreatefromjpeg()
Fatal Error: Cannot Redeclare
۱/Fatal error: Cannot redeclare my_function() (previously declared in /home/mysite/public_html/runtime.php:14) in /home/mysite/public_html/runtime.php on line 26
این خطا زمانی اتفاق می افتد که شما یک فایل را دو بار include کرده اید. حتما فایل هاتون رو مجددا چک کنید.
Fatal Error: Allowed Memory Size Exhausted
۱/Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 17472 bytes) in /home/mysite/public_html/lib/Image.class.php on line 198
گاهی اوقات شما اسکریپتی را اجرا میکنید که برای کار کردن نیاز به حافظه زیادی دارد که سرور شما اجازه استفاده از چنین حافظه ایی را نمیدهد. با مدیر هاست خود تماس بگیرید
Permission Errors
خطای دسترسی یکی از رایج ترین خطاها می باشد که وبمستر ها با آن روبرو می شوند.
۱/Warning: move_uploaded_file(/home/mysite/public_html/upload/my_cat.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/mysite/public_html/upload.php on line 49
در مثال بالا اسکریپت میخواهد یک فایل آپلود کند اما فولدر مقصد دسترسی لازم را برای این کار ندارد.شما می توانید از طریق FTP و یا کنترل پنل هاستتون دسترسی مورد نظر رو به فولدر و یا فایل های مربوطه بدید.
PHP Warning: Include
۱/PHP Warning: include(foo.php): failed to open stream: No such file or directory in /home/mysite/public_html/test.php on line 2
این خطا بدین معناست که فایلی که include شده موجود نمی باشد.
در php شما می توانید بوسیله include و require یک فایل را مشمول کنید. با این تفاوت که در require اسکریپت در صورت پیدا نکردن به کار خود ادامه نمی دهد.
در این مقاله کوتاه سعی شد تا خطاهای معمول را بازگو نماییم. این بدان معنا نیست که دیگر خطایی وجود ندارد. اما امیدواریم این بخش به شما کمک کند تا در مواجهه با خطاهای اینچنینی خودتان در رفع آن اقدام نمایید
|
توانایی عشق ورزیدن؛ بزرگترین هنر جهان است.
|
|
|
موضوعهای مرتبط با این موضوع... |
موضوع: |
نویسنده |
پاسخ: |
بازدید: |
آخرین ارسال |
|
انتقال داده از ص a به ص b بدون php با js |
amirmtf |
۰ |
۲,۱۹۷ |
۰۲ اردیبهشت ۱۳۹۹ ۱۲:۱۷ ب.ظ
آخرین ارسال: amirmtf
|
|
دانلود رایگان دوره آموزشی PHP & MySQL |
SamanehRashvand |
۱ |
۲,۸۲۷ |
۲۶ مهر ۱۳۹۸ ۰۹:۲۹ ق.ظ
آخرین ارسال: alma1988
|
|
استفاده از کد جی کویری در PHP |
Roya2222 |
۱ |
۲,۳۸۱ |
۱۹ مهر ۱۳۹۸ ۰۶:۳۳ ب.ظ
آخرین ارسال: Riemann
|
|
نصب یک دیتابیس در php mysql |
fas |
۱ |
۲,۵۹۲ |
۱۸ مرداد ۱۳۹۷ ۱۰:۰۳ ق.ظ
آخرین ارسال: iranforums
|
|
معرفی اموزشگاه برای کلاس های php |
saradehghani |
۰ |
۲,۱۲۵ |
۲۴ تیر ۱۳۹۷ ۰۳:۱۲ ب.ظ
آخرین ارسال: saradehghani
|
|
سؤال در مورد چک باکس در PHP |
simorghsimorgh |
۷ |
۱۰,۸۳۲ |
۲۴ دى ۱۳۹۶ ۱۱:۰۸ ب.ظ
آخرین ارسال: gogooli
|
|
فیلم فارسی آموزش upload در php |
sisili |
۱ |
۲,۴۳۹ |
۱۹ تیر ۱۳۹۶ ۱۲:۱۲ ب.ظ
آخرین ارسال: sisili
|
|
ASP.NET یا PHP؟؟ |
shamim_70 |
۳ |
۴,۴۴۸ |
۰۳ خرداد ۱۳۹۶ ۱۱:۰۱ ق.ظ
آخرین ارسال: sisili
|
|
نحوه ی کار با ایمیل در PHP |
simorghsimorgh |
۷ |
۶,۲۲۴ |
۱۲ شهریور ۱۳۹۵ ۰۳:۰۷ ب.ظ
آخرین ارسال: axarsu
|
|
دروه آنلاین برنامه نویسی وب از پایه با PHP 7 (پروژه محور ویژه آمادگی برای بازار کار) |
one hacker alone |
۰ |
۱,۸۵۹ |
۳۰ مرداد ۱۳۹۵ ۰۳:۰۷ ق.ظ
آخرین ارسال: one hacker alone
|