سؤال

لقد قمت مؤخرا بإنشاء مقدمة جافا لخدمة الويب PHP التي تستخدم PHPS Sapapserver.

يقوم طلبي بإجراء مزامنة بيانات طويلة الأمد وعن ما أعرفه من PHP أعد نفسي للحصول على اتصالات مغلقة بسبب max_execution_time حد.

لكنني لم أحصل على أي نوع من الخطأ، كما لو كان مثيل Sapapserver يعمل إلى الأبد.

أفضل تخمين هنا، هو أنني لا أفهم حقا كيف يعمل Sapapserver. لذلك، هل يمكن لأي شخص إلقاء بعض الضوء على هذا؟ هو soapserver لا تتأثر max_execution_time?

تعديل: في اختباراتي max_execution_time تم تعيينه إلى 5 دقائق، لكن برنامجي يعمل لساعات.

هل كانت مفيدة؟

المحلول

إذا كان max_execution_time تم ضبطه على 0، إما في php.ini الخاص بك أو باستخدام ini_set() أو set_time_limit() في البرنامج النصي الخاص بك، فلن يكون هناك حد. هل يمكن أن يكون هذا السبب؟

تعديل: أيضا، لقد لاحظت هذا في كتيب:

ملاحظة: الدالة SET_TIME_LIMIT () وإدارة التكوين MAX_EXECENTION_TIME تؤثر فقط على وقت تنفيذ البرنامج النصي نفسه. في أي وقت يتم إنفاقه على النشاط الذي يحدث خارج تنفيذ البرنامج النصي مثل مكالمات النظام باستخدام النظام ()، وعمليات الدفق واستعلامات قواعد البيانات، إلخ. لا يتم تضمينها عند تحديد الحد الأقصى للوقت الذي تم تشغيل البرنامج النصي. هذا ليس صحيحا على Windows حيث يكون الوقت المقاس حقيقي.

ربما لا تحصل على قطع لأن معظم الوقت ينفق على تدفق البيانات أو تنفيذ الاستعلامات، والذي وفقا لهذا، لن يحسب نحو المهلة الزمنية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top