قمت بعمل سكريت مهمتها القرائة من سيرفرات اخرى .
المشكلة انهفي حال كان الملف المقروء كبير جدا بحدود ال واحد غيغا
فسوف لن يقرا السكريبت الملف ويصاب بعملية التايم اوت
ما حل ذلك مع العلم اني لا املك حقالتغير في متغيرات ال PHP.ini
?
قمت بعمل سكريت مهمتها القرائة من سيرفرات اخرى .
المشكلة انهفي حال كان الملف المقروء كبير جدا بحدود ال واحد غيغا
فسوف لن يقرا السكريبت الملف ويصاب بعملية التايم اوت
ما حل ذلك مع العلم اني لا املك حقالتغير في متغيرات ال PHP.ini
?
هلا بيشو
استخدم
set_time_limit(CONNECTION_DELAY_IN_SECONDS);
بدون تايم آوت
set_time_limit(0);
تحياتي
set_time_limit() has no effect when PHP is running in safe mode.
واله بعرفها
والله جربتها ..............
ما مشي الحال
إستخدم الأمر flush إذا كنت ستقوم بإرسال الناتج مباشرة إلى المتصفح.
أو sleep إذا كانت العملية موجهة بالكامل للملقم.
أين نضع هذين الأمرين...في اول الملف ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ظرد مقتبس من php4
إستخدم الأمر flush إذا كنت ستقوم بإرسال الناتج مباشرة إلى المتصفح.
أو sleep إذا كانت العملية موجهة بالكامل للملقم.
__________________
يا نبض الضفة لا تهدأ أعلنها ثورة
حطم قيدك إجعل لحمك جسر العودة
للرفع
__________________
يا نبض الضفة لا تهدأ أعلنها ثورة
حطم قيدك إجعل لحمك جسر العودة
أعتذر عن عدم سرعة الرد اخي الكريم.
هذه الدوال توضع داخل الأمر الذي تتوقع أن يسبب مشكلة معينة مثل التايم آوت أو problem report فمثلاً لو لديك برنامج يقوم بسحب بيانات معينة من قاعدة البيانات ومن ثم يرسلها عبر البريد فعليك وضع الأمر داخل الـloopng طبعاً نظم عملية وضعه بحيث لايعمل الأمر مع كل دورة بل بعد عدد معين من الدوارت تتوقع حدوث المشكلة خلالها أو بعده.
أما من هو الأفضل إستخدامه فيعتمد على طبيعة العملية فمثلاً في المثال السابق العملية تتم داخل الملقم لذلك إستخدم الدالة sleep ولكن لو كانت النتائج لن ترسل إلى البريد بل ستطبع على متصفح الزائر فإستخدم الدالة الأخرى flush،وأحياناً قد تضطر لإستخدام الإثنتين في حال كانت العملية ستسغرق وقت طويل جداً.
أخي بيشو لما تقوم بتقسيم عملية قرائة الملف حيث تضع في البداية أمر يجلب حجم الملف ومن ثم يقوم بتقسيمه وقرائته من خلال loop وجمع النتائج في النهاية،كما أن هناك نقطة مهمة وهي سرعة الإتصال وقدرة السيرفر الذي تستخدمه والذي تتصل به(الذي يوجد به الملف).