مشكلة عند تنفيذ سكربت عن طريق ال cmd
السلام عليكم ورحمة الله وبركاته
الاخوة / الاخوات الكرام .. بعد التحية
تواجهني مشكلة عند تنفيذ سكربت php command عن طريق cmd
مع العلم ان ال freamwork المستخدم في التطبيق هو yii2
هذه الفنكشن موجودة داخل الكنترول CommandController ملف commands
واقوم استدعائها عن طريق cmd بالامر التالي : php yii command/feed-all
كما هو موضح بالصورة الاولى
الإجابة الصحيحة
مراجعه سريعه للكود الي فهمته من الكود انه مطلوب منه يجيب بيانات مخزنة بقاعدة البيانات ثم يمررها لامر آخر وينتظر ١٦ ثانية قبل يكمل او ينهي الامر
ملاحظة انت مستخدم timeout
اتوقع انها خاصة بويندوز ممكن مايشتغل على سيرفرات ثانية مثل لينكس لان بلينكس المستخدم هو امر sleep
انت بصيغة الامر في السطر 27 استخدمت هالامر بالبداية
timeout 15s
بعد البحث الواضح ان الصح استخدام هالصيغه لتحديد الثواني للانتظار
timeout /t 15
هنا راح ينتظر 15 ثانيه قبل يكمل
ثاني امر ملاحظة انك ماتقدر تحط امرين بنفس السطر حاليا انت مستخدم timeout
وبعدها امر php
بنفس السطر ممكن تجرب تحط بينهم علامة &
او تفصل الامرين كل امر بسطر اتوقع ان سبب الخطا الاساسي هو ان يعتبر امر php
الي انت كتبته مدخل parameter
للامر timeout
فعشان كذا يصير الخطا
ملاحظة انتبه من استخدام الدالة passthru
في php
جدا خطيره وثغراتها كثيره وخاصه اذا بتمرر مدخلات مخزنة من قبل مستخدمين
اذا كنت ترغب بتنفيذ كود والانتظار حتى ينتهي استخدم while
في php
بدل foreach
او ابحث عن مكتبات التي تدعم async
لعمل اتصال لاي api
مثل مكتبة Guzzle
في php
واتوقع ان yii لديها الكثير من المكتبات الي ممكن تساعدك بهالشي
الإجابات (5)
للأسف لا أملك أي معلومات، راجع السؤال التالي
وعليكم السلام والرحمة
اذا ممكن تحرير السؤال واضافة الامر المراد تنفيذه ومحتوى الكود لنستطيع مساعدتك 🌹
تم التحرير واضافة ما طلبته مني استاذ علي .. في حال وجود أي نواقص اتمنى اخباري ليتم ادراجها في السؤال
مراجعه سريعه للكود الي فهمته من الكود انه مطلوب منه يجيب بيانات مخزنة بقاعدة البيانات ثم يمررها لامر آخر وينتظر ١٦ ثانية قبل يكمل او ينهي الامر
ملاحظة انت مستخدم timeout
اتوقع انها خاصة بويندوز ممكن مايشتغل على سيرفرات ثانية مثل لينكس لان بلينكس المستخدم هو امر sleep
انت بصيغة الامر في السطر 27 استخدمت هالامر بالبداية
timeout 15s
بعد البحث الواضح ان الصح استخدام هالصيغه لتحديد الثواني للانتظار
timeout /t 15
هنا راح ينتظر 15 ثانيه قبل يكمل
ثاني امر ملاحظة انك ماتقدر تحط امرين بنفس السطر حاليا انت مستخدم timeout
وبعدها امر php
بنفس السطر ممكن تجرب تحط بينهم علامة &
او تفصل الامرين كل امر بسطر اتوقع ان سبب الخطا الاساسي هو ان يعتبر امر php
الي انت كتبته مدخل parameter
للامر timeout
فعشان كذا يصير الخطا
ملاحظة انتبه من استخدام الدالة passthru
في php
جدا خطيره وثغراتها كثيره وخاصه اذا بتمرر مدخلات مخزنة من قبل مستخدمين
اذا كنت ترغب بتنفيذ كود والانتظار حتى ينتهي استخدم while
في php
بدل foreach
او ابحث عن مكتبات التي تدعم async
لعمل اتصال لاي api
مثل مكتبة Guzzle
في php
واتوقع ان yii لديها الكثير من المكتبات الي ممكن تساعدك بهالشي
السلام عليكم ورحمة الله وبركاته ..
يعطيك العافية استاذ علي .. ما شاء الله الله يزيدك ويرفع قدرك دنيا واخرة .. اجابة صحيحة 100%
الله ينفع بك الاسلام والمسلمين ويفرج همك وكربك .. شكراً لك
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !